㈠ VB連接sql
問題補充:
「我想知道相對地址連接~~是SQL
移到的機子上不裝SQL那怎麼辦??」
1、SQL資料庫連接必須是伺服器,不用地址,因為在安裝SQL
Server
2000
後,你的資料庫地址已經確定;
2、在一般情況下不安裝是不可以的,對於Access資料庫現在的操作系統有其驅動,而沒有SQL的,除非使用網路,例如區域網。
SQL
SERVER
2000
資料庫代碼比較簡單,無非資料庫連接語句不同,其他和Access資料庫沒有大的區別。
如果「程序要移動到其他機子上」,移動到的機子上必須同樣安裝SQL
SERVER
2000
資料庫,而且伺服器名稱、資料庫名稱必須和原伺服器名稱、資料庫名稱相同,如果有資料庫密碼,必須保持一致。
下面是SQL資料庫連接代碼,請參考:
Public
conn
As
New
ADODB.Connection
conn.ConnectionString
=
"driver={SQL
Server};server=伺服器名稱;uid=sa;pwd=密碼;database=資料庫名稱"
conn.Open
㈡ 如何用VB連接SQL資料庫做登錄
一、配置ODBC數據源
1、在控制面板中,雙擊管理工具,然後打開ODBC數據源管理器。
2、在「系統DSN」選項卡中,單擊「添加」按鈕,打開「創建新數據源」對話框,在「名稱」列表框中選擇「SQL Server」。選好單擊完成
3、在打開「建立新的數據源到SQL Server」對話框,在「名稱」文本框輸入新數據源的名稱,描述數據源按你理解的方式來寫(隨意)。「伺服器」就選擇你要連接到的伺服器。
4、選擇使用用戶輸入登錄的ID和密碼的SQL 驗證
。選連接SQL默認設置
5、再下一步下一步,完成。測試數據源看連接是否成功就行了。成功後按確定。
二、VB中設置連接
1、添加部件Mircrosoft ADO Data Control 6.0(OLEDB),把部件拖到窗體。
2、對ADO部件點右鍵選屬性,選擇使用連接字元串,按生成。
3、選擇Mircosoft OLE DB Providar for SQL Server
按下一步
4、
1、輸入伺服器名稱
2、使用指定的伺服器信息
3、在伺服器上選擇資料庫
這時就選擇你在SQL Server建好的資料庫就行了
5、測試連接可以看到連接是否成功!
㈢ vb的sql資料庫連接
先建一個工程,建立一個form1,form1中的代碼如下:
Dim rsNew As ADODB.Recordset
Dim CnNew As ADODB.Connection
Dim wsh As New WshShell
Dim serverlink As String
Private Sub Command1_Click()
Dim Mag As String
On Error GoTo strErrMag
Set CnNew = New ADODB.Connection
Set wsh = New WshShell
Text1 = wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\ZJRB\SERVERNAME")
Text3 = wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\ZJRB\PWD")
Text2 = wsh.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\ZJRB\USENAME")
serverlink = "Provider=SQLOLEDB.1;Password=" + Trim(Text3.Text) + ";Persist Security Info=True;User ID=" + Trim(Text2.Text) + ";Initial Catalog=master;Data Source=" + Trim(Text1.Text)
CnNew.Open serverlink
Exit Sub
strErrMag:
Mag = "資料庫連接錯誤,在下列的窗體中請輸入正確的信息!"
MsgBox Mag, vbOKOnly, "錯誤:資料庫連接"
Me.Enabled = False
Load Form2
Form2.Show
End Sub
再建一個form2,form2的代碼如下:
Dim rsNew As ADODB.Recordset
Dim CnNew As ADODB.Connection
Dim wsh As New WshShell
Dim serverlink As String
Private Sub Command1_Click()
Dim Mag As String
On Error GoTo strErrMag
Set CnNew = New ADODB.Connection
Set wsh = New WshShell
serverlink = "Provider=SQLOLEDB.1;Password=" + Trim(Text3.Text) + ";Persist Security Info=True;User ID=" + Trim(Text2.Text) + ";Initial Catalog=master;Data Source=" + Trim(Text1.Text)
CnNew.Open serverlink
MsgBox ("資料庫連接成功!"), vbInformation + vbOKOnly, "提示信息"
Set CnNew = Nothing
wsh.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\ZJRB\SERVERNAME", Trim(Text1)
wsh.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\ZJRB\PWD", Trim(Text3)
wsh.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\ZJRB\USENAME", Trim(Text2)
Form1.Enabled = True
Unload Me
Exit Sub
strErrMag:
Mag = "資料庫連接錯誤,在下列的窗體中請輸入正確的信息!"
MsgBox Mag, vbOKOnly, "錯誤:資料庫連接"
End Sub
試試看吧,這個把SQL的登錄名與密碼放在注冊表中,同樣也可以在注冊表中放軟體的試用期限!
㈣ VB與SQL連接
Dim Connstr As String
Dim TempRst As New ADODB.Recordset
Conn.CommandTimeout = 3
Connstr = " driver={sql server};server=服務名一般都是默認計算機名;uid=sa;pwd=sa(這倆你應該知道);database=資料庫名稱"
Conn.ConnectionString = Connstr
Conn.Open
㈤ vb怎麼連接sql
在窗體上添加adodc控制項
滑鼠右鍵-adodc屬性-在通用選項卡里,點生成,選for
SQL
Server驅動程序-下一步-連接選項卡里
1.輸入伺服器名稱,2.使用Windows
NT
集成安全設置。3.選擇一個資料庫
點測試連接,看看是否成功。按確定
點記錄源選項卡,命令類型選8,命令文本(SQL)寫:select
*
from
table1
確定,就連接到SQL資料庫的表table1了。
Private
Sub
Command1_Click()
If
Not
Adodc1.Recordset.EOF
Then
Text1.Text
=
Adodc1.Recordset.Fields("line1")
End
If
End
Sub
㈥ vb如何連接sql資料庫,求源碼
Dim conn As New ADODB.Connection '創建一個 Connection 實例,在這里使用New等於將Dim和Set合並為一段代碼執行
Dim rs As ADODB.Recordset '創建一個 Recordset 實例,不使用New 是因為,經常需要重復使用Set,因此沒必要在這里使用
Dim CnStr As String, Sql As String '創建兩個字元串變數分別存放兩個集合的SQL語句代碼段
1、裝載資料庫(不屬於Recordset集合)
=============
Dim FileNamw$, DbIp$, DbName$, DbUser$, DbPw$
'以上5個字元串變數分別表示文件路徑和文件名、資料庫地址、資料庫名、數據操作員用戶名、操作員密碼
FileName = App.Path & "\'資料庫名'"
DbIp = "資料庫地址"
DbName = "資料庫名"
DbUser = "數據操作員用戶名"
DbPw = "操作員密碼"
'以上變數根據資料庫類型的不同而不同,有可能只需要1至兩個變數
'1)連接Access資料庫:
'-------------------
CnStr = "PROVIDER=microsoft.jet.oledb.3.51;persist security info =false;data source=" & FileName & ";Jet OLEDB:Database Password=" & DbPw
'2)連接Oracle資料庫:
'-------------------
CnStr = "PROVIDER=MSDAORA.1;Password=" & DbPw & ";User ID=" & DbUser & ";Data Source=" & FileName & ";Persist Security Info=True"
'其中:
'PASSWORD: 密碼
'User ID: 用戶號
'Data Source: 資料庫名
'Persist Security Info:
'Provider:
'3)連接VF的DBF庫:
'----------------
CnStr = "PROVIDER=MSDASQL.1;Persist Security Info=False;Driver={Microsoft Visual FoxPro Driver};UID=" & DbUser & ";SourceDB=" & FileName &
";SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;"
'4)連接SQL的資料庫
'------------------
CnStr = "PROVIDER=MSDataShape;Data PROVIDER=MSDASQL;uid=" & DbUser & ";pwd=" & DbPw & ";DRIVER=SQL Server;DATABASE=" & DbName & ";WSID=GQSOFT;SERVER=" &
DbIP
'也可以使用這段簡易代碼 CnStr = "Provider=SQLOLEDB;Data Source=" & DbIp & ";DATABASE=" & DbName & ";UID=" & DbUser & ";pwd=" & DbPw
Conn.Open cnstr '使用 Connection 集合的 Open 方法 與資料庫建立連接
2、Recordset集合的常用方法
==========================
'1)打開一個表
'------------
Sql = "select * from 表名" 'SQL查詢語句
Set rs = New ADODB.Recordset '新建一個實例
rs.Open Sql, conn '使用 Open 方法打開資料庫中的一個表
'注意,這種打開方式只能使用 rs.MoveNext (即,向後移動行坐標)而不能像其他方向,並且不能修改數據內容
'
'rs.Open Sql, conn,1 '雖然只加了個「1」,但這種方法可以向任何方向移動行坐標。
'
'以下參數代表了這個可選值的含義
'0 = adOpenForwardOnly (默認值)打開僅向前類型游標。
'1 = adOpenKeyset 打開鍵集類型游標。
'2 = adOpenDynamic 打開動態類型游標。
'3 = adOpenStatic 打開靜態類型游標。
'
'雖然使用以上方法可以可以實現行坐標(游標)的任意移動,但是仍然無法寫入數據。因此需要進一步的對Open 方法進行完善
'rs.Open Sql, conn, 1, 3 '後面的3是確定讀寫許可權的
'以下參數代表了這個可選值的含義
'1 = adLockReadOnly (默認值)只讀 — 不能改變數據。
'2 = adLockPessimistic 保守式鎖定(逐個) — 在編輯時立即鎖定數據源的記錄。
'3 = adLockOptimistic 開放式鎖定(逐個) — 只在調用 Update 方法時才鎖定記錄。
'4 = adLockBatchOptimistic 開放式批更新 — 用於批更新模式(與立即更新模式相對)。
'
'2)讀寫數據
'----------
'增加一行記錄並對新記錄的內容進行修改並保存可以如下寫法
rs.AddNew '增加一行記錄
rs("...")="..." '數據讀寫操作
...
rs.UpDate '保存寫入資料,如果使用只讀許可權,則不能使用這個方法
rs.Close '這個方法用來關閉你所代開的表,如果不使用這個方法也可以,但是資料庫仍然認為你在對標進行鎖定,可造成資料庫負擔過重
2、對數據進行篩選和排序
=======================
Sql = "select * from 表名" 'SQL查詢語句
'以上為打開一個表的所有內容
Sql = "select top 50 * from 表名" 'SQL查詢語句
'以上為只打開前50行的記錄
Sql = "select top 50 列名1,列名2,列名5 from 表名" 'SQL查詢語句
'以上為只打開前50行的記錄,並且只打開第1、2、5列數據
Sql = "select * from 表名 where 列名1='" & 欄位 & "'" 'SQL查詢語句
'以上為一個簡單的篩選,表示打開的內容必須符合[列名1='" & 欄位 & "'"]的內容
'需要注意的是,資料庫列的類型必須匹配,比如字元串類型需要以單引號括起
'而數字類型則不能用單引號括起
'另外SQL語句還支持通配符,例如 列名1 like '%" & 欄位 & "%'" 表示包含[欄位]
'在表達式中的匹配
'? _(下劃線) 任何單一字元
'* or % 零個或多個字元
'# 任何單一數字(0 — 9)
'[charlist] 任何在字元表中的單一字元
'[!charlist] 任何不在字元表中的單一字元
'註:根據資料庫的不同?、_和*、%的應用有所差別,比如SQL只使用% 和 _ 分別代表多個字元和單一字元
Sql = "select * from 表名 where 列名1='" & 欄位 & "' ORDER BY 欄位1 ASC" '對查詢結果進行升序排列
Sql = "select * from 表名 where 列名1='" & 欄位 & "' ORDER BY 欄位1 DESC" '對查詢結果進行降序排列
Sql = "select * from 表名 where 列名1='" & 欄位 & "' ORDER BY 欄位1 DESC, ORDER BY 欄位2 DESC" '對查詢結果進行多維降序排列(速度奇慢,不推薦使用)
3、Recordset集合的常用屬性方法
==============================
rs.BOF '是否游標在最上邊
rs.EOF '是否游標在最下邊
rs.RecordCount '記錄集的行數(如果使用像前類型的游標,可能返回不準確)
rs.AddNew '新建一行記錄
rs.Update '保存當前行被修改的記錄
rs.Delete '刪除當前行
rs.Close '關閉記錄集
4、Fields集合的一些屬性的解釋
=============================
'以下為簡寫,正常情況需要rs.Fileds.。。。但是Fields屬於Recordset的一個默認集合,因此可以省略
rs() '括弧內可以是列名也可以是列的序號例如:rs("姓名")、rs(3) 都是是可以的
rs(3).Name '返回列名
rs(3).Type '返回列的類型
rs(3).Value '返回當前行的值
rs.Fields.Count '返回列數
㈦ VB連接SQL最簡單方法
這一種方法是採用有源的方法與資料庫連接的方法,代碼如下所示:
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionString = "DSN=login;uid=sa;pwd=;"
conn.ConnectionTimeout = 30
conn.Open
rs.Open "select 用戶名 from login", conn, adOpenStatic, adLockReadOnly, adCmdText
Dim i As String
For t = 0 To Val(rs.RecordCount) - 1
i = Trim(rs.Fields("用戶名").Value)
rs.MoveNext
Combo1.AddItem i
Next t
rs.Close
連接資料庫的方法很多很多,只要各位去勇敢的償試一下,就可以感覺資料庫的方法並不是很難,本人以前也很想做這方法的工作,只是學識不深,未能完成胸中大志,如今對這些方法的多少有一些了解,特意為那些初學者以供學習之用。
㈧ VB6.0 如何連接SQL 資料庫
你在SQL SERVER中新建一個資料庫,然後將這個資料庫生成腳本文件,根據情況修改後轉存為MASTER下的一個存儲過程。至於資料庫名和數據文件路徑可以做成參數傳入,然後在VB中用連到MASTER後執行這個存儲過程。
用VB與建立的SQL資料庫連接
1.使用ODBC DSN連接字元串
DSN=mySystemDSN;Uid=myUsername;Pwd=myPassword
----------------------------------------------
2.使用無ODBC DSN的連接字元串
(1)標准安全性
Driver={SQL Server};Server=MyServerName;DataBase=myDatabaseName; _
Uid=myUsername;Pwd=myPassword
------------------------------------------------
(2)信任連接(分兩種)
1)連接字元串1
Driver={SQL Server};Server=MyServerName;DataBase=myDatabaseName;Uid=;Pwd=;
2)連接字元串2
Driver={SQL Server};Server=MyServerName;DataBase=myDatabaseName;Trusted_Connection=yes
---------------------------------------------------------------------------
(3)連接本地SQL SERVER
Driver={SQL Server};Server=(local);DataBase=myDatabaseName; _
Uid=myUsername;Pwd=myPassword
-------------------------------------------------------------
(4)連接遠程SQL SERVER
Driver={SQL Server};Server=xxx.xxx.xxx.xxx; _
Address=xxx.xxx.xxx.xxx,1433; _
Network=DBMMSOCN;DataBase=myDatabaseName; _
Uid=myUsername;Pwd=myPassword
-------------------------------------------------------
3.使用OLEDB PROVIDER FOR SQL SERVER的連接字元串
(1)標准安全性
Provider=SQLOLEDB.1; _
Password=myPassword; _
User ID=myUsername; _
Initial Catalog=myDatabaseName; _
Data Source=MyServerName
-------------------------------------------
(2)信任連接
Provider=SQLOLEDB.1; _
Initial Catalog=myDatabaseName; _
Data Source=MyServerName; _
Integrated Security=SSPI
--------------------------------------
(3)連接到命名實例
Provider=SQLOLEDB.1; _
Initial Catalog=myDatabaseName; _
Data Source=myServerName\myInstanceName; _
Password=myPassword; _
User ID=myUsername
--------------------------------------
(4)連接到本地SQL SERVER
Provider=SQLOLEDB.1; _
Password=myPassword; _
User ID=myUsername; _
Initial Catalog=myDatabaseName; _
Data Source=(local)
-----------------------------------------
(5)連接到遠程SQL SERVER
Provider=SQLOLEDB.1; _
Netwprk Library=DBMMSOCN; _
Data Source=xxx.xxx.xxx.xxx,1433; _
Password=myPassword; _
User ID=myUsername; _
Initial Catalog=myDatabaseName;
㈨ 如何用VB連接SQL資料庫做登錄
一、界面設計
各控制項名稱屬性分別為:label1 、text1 、label2、text2、commandok、cmdcancel
代碼設計如下:
'首先添加一個模塊,寫上以下通用聲明和Sub main():
Public conn As ADODB.Connection '通用(聲明)
Sub main()
Set conn = New ADODB.Connection '通用(main)
conn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;" _
+ "User ID=sa;password=123;Initial Catalog=denglu;Data Source=127.0.0.1" '連接資料庫代碼
conn.Open
frmLogin.Show '首先顯示登錄界面。也可以在工程屬性中設置啟動對象為Sub main()或者frmlogin窗體
End Sub
'在Frmlogin 代碼窗口,為cmdok控制項寫以下代碼:
Private Sub cmdok_Click()
If text1.Text = "" Then
MsgBox "用戶名不能為空!", vbOKOnly + vbInformation, "友情提示"
text1.SetFocus
Exit Sub '若用戶名文本框內為空,則出現提示框
End If
If text2.Text = "" Then
MsgBox "密碼不能為空!", vbOKOnly + vbInformation, "友情提示"
text2.SetFocus
Exit Sub '若輸入密碼文本框為空,也出現提示框
End If
Dim strSQl As String
strSQl = "select * from User1 where username='" & Trim$(text1.Text) & "' and pwd='" & Trim$(text2.Text) & "' "
'書寫SQL代碼,查詢User1表中是否存在窗體中用戶輸入的信息。
Dim str As New ADODB.Recordset
Set str = New ADODB.Recordset
str.CursorLocation = adUseClient
str.Open strSQl, conn, adOpenStatic, adLockReadOnly
With str
If .State = adStateOpen Then .Close
.Open strSQl
If .EOF Then
Try_times = Try_times + 1
If Try_times >= 3 Then
MsgBox "您已連續三次輸入錯誤,系統將自動關閉", vbOKOnly + vbCritical, "警告"
Unload Me '若用戶連續輸入3次錯誤密碼,則系統關閉
Else
MsgBox "對不起,用戶名不存在或密碼錯誤 !", vbOKOnly + vbQuestion, "警告"
text1.SetFocus
text1.Text = ""
text2.Text = ""
End If
Else
Unload Me '若登錄成功,則隱藏當前窗體
Form2.Show '然後顯示Form窗體
End If
End With
End Sub
Private Sub cmdCancel_Click()
End '若單擊Cmdcel按鈕,則結束應用程序
End Sub
運行中存在的問題:
代碼中有Dim conn As adodb.connection,運行時顯示"用戶定義類型未定義"
解決方法:點擊「工程」--「引用」找到「Microsoft ActiveX Data Object 2.6」
然後就就可以正常運行了。
㈩ 用vb怎麼連接SQL資料庫
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\你資料庫的名稱"
Dim strquery As String
strquery = "select * from Table_Users where 用戶名='" & Trim(Text1.Text) & "'and 密碼= '" & Trim(Text2.Text) & "'"
Adodc1.RecordSource = strquery
Adodc1.Refresh
這樣應該就ok了 希望能幫到你