要查找資料庫信息,關鍵是要解決鏈接資料庫的問題,下面簡述Vb如何SQL資料庫:
有兩種方法可以實現,一種是通過ODBC數據源的配置進行連接,一種是通過純代碼編輯進行連接,下面我們就詳細介紹一下這兩種連接方法。
ODBC數據源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資料庫
Public conn As New ADODB.Connection
Public rs As New ADODB.Recordset
Public addFlag As Boolean
Public Function OpenCn(ByVal Cip As String) As Boolean
Dim mag As String
On Error GoTo strerrmag
Set conn = New ADODB.Connection
conn.ConnectionTimeout = 25
conn.Provider = "sqloledb"
conn.Properties("data source").Value = Cip '伺服器的名字
conn.Properties("initial catalog").Value = "zqoa" '庫名
'conn.Properties("integrated security").Value = "SSPI" '登陸類型
conn.Properties("user id").Value = "sa"
conn.Properties("password").Value = "sa"
conn.Open
OpenCn = True
addFlag = True
Exit Function
strerrmag:
mag = "Data can't connect"
Call MsgBox(mag, vbOKOnly, "Error:Data connect")
addFlag = False
Exit Function
End Function
Public Sub cloCn()
On Error Resume Next
If conn.State <> adStateClosed Then conn.Close
Set conn = Nothing
End Sub
Public Function openRs(ByVal strsql As String) As Boolean '連接資料庫記錄集
Dim mag As String
Dim rpy As Boolean
On Error GoTo strerrmag
Set rs = New ADODB.Recordset
If addFlag = False Then rpy = True
With rs
.ActiveConnection = conn
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open strsql
End With
addFlag = True
openRs = True
End
'Exit Function
strerrmag:
mag = "data not connect"
Call MsgBox(mag, vbOKOnly, "error:connect")
openRs = False
End
'Exit Function
End Function
Public Sub cloRs()
On Error Resume Next
If rs.State <> adStateClosed Then rs.Clone
Set rs = Nothing
End Sub
B. VB顯示資料庫內容
您好,我來幫你搞定:
1 新建工程;在窗體上加入一個按鈕command1,一個文本框text1,
2 添加引用;工程-引用-Microsoft ActiveX Data Objects 2.7 Library;
3 將工程保存在d:\MY_project文件夾
4 我一看就知道你的資料庫是access資料庫,哈哈。
代碼如下:
private sub Form_Load()
on error goto errmsg '遇到錯誤,轉到errmsg
dim MyConStr as string '連資料庫字元串
dim sqlstr as string '查詢語句
dim a as string '對應表中的欄位a b c
dim b as string
dim c as string
dim conn2 as New ADODB.connection 』連接對象
MyConStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db.mdb"
conn2.open MyConStr '建立資料庫連接
dim rs as New ADODB.Recordset 』創建數據集對象
sqlstr="select top 1 * from MyTable order by a desc" '選出最大編號的記錄
rs.open sqlstr,conn2,1,1 '讀取數據到記錄集
』假設MyTable這張表裡有3個欄位a,b,c ,其中a就是那個自動編號
Do while Not rs.Eof
a = RTrim(LTrim(rs("a")))+"|" '加上|方便輸出有分隔
b = RTrim(LTrim(rs("b")))+"|"
c = RTrim(LTrim(rs("c")))
text1.text=a+b+c '將記錄顯示在文本框內,每個欄位都有|分隔
rs.move next
Loop
rs.close
set rs=nothing
set conn2=nothing
errmsg:
if err.number<>0 then
MsgBox CStr(Err.Number) + CStr(Err.Description), vbExclamation, "錯誤!"
exit sub
end if
end sub
************************** 祝你成功喔!***************************
PS:「Provider=Microsoft.Jet.OLEDB.4.0;Data Source="你的mdb資料庫全路徑"
上面那句話里的中文 要填寫上你自己的實際的內容比如(d:\data\mydata.mdb)。
還有就是我那個"select top 1 * from MyTable order by a desc" MyTable 以及裡面的欄位 都要填寫自己的內容喔!
C. vb 怎樣顯示access中的所有數據
1、必須採用循環
DO WHILE NOT RS.EOF 的語句
2、各欄位顯示在不同的顯示控制項中,例如顯示在Text控制項中
3、在循環過程中要移動記錄集指針:RS.MOVENEXT
4、用LOOP結束循環
看下面的例子:
Do While Not rs.EOF
Text1(i).Text=rs!欄位1
Text2(i).Text=rs!欄位2
Text3(i).Text=rs!欄位3
.....
i=i+1
rs.MoveNext
Loop
注意:Text1(i).Text是控制項數組
D. 在vb中怎麼把access 資料庫中的數據全部顯示出來
Private Sub Form_Load()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Stu.mdb;Persist Security Info=False"
Adodc1.RecordSource = "select * from tb_stu "
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
end Sub
'Stu.mdb 是資料庫,tb_stu是資料庫表名
'添加datagrid 、Adodc1 控制項