VB讀取Mdb數(shù)據(jù)庫一個表的數(shù)據(jù)可使用ADO數(shù)據(jù)對象或ADO數(shù)據(jù)控件實現(xiàn)。
網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、微信小程序、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了黃埔免費建站歡迎大家使用!
通過選擇“工程”菜單中的“引用...”來為 ADO 對象庫添加一個引用,然后在“引用...”對話框中選擇 Microsoft ActiveX Data Objects 2.0 Library
點上圖確定。工程就引用了ADO。
運行代碼示例:
Private Sub Command1_Click()
Dim cn As New ADODB.Connection '定義數(shù)據(jù)庫的連接
Dim rs As New ADODB.Recordset '聲明一個 Recordset 對象變量
Dim sql As String
sql = "select * from jishijilu"
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" App.Path "\wd.mdb;Persist Security Info=False"
cn.Open
rs.CursorLocation = adUseClient
rs.Open sql, cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs
End Sub
在此本人使用ADO對象訪問ACCESS數(shù)據(jù)庫,但ADO對象在使用前你先要進行添加,啟動VB6后,單擊菜單“工程-引用”,打開引用對話框,選擇“Microsoft ActiveX Data Objects 2.0 Library”,將其勾選,(以2.0版本為例,實際可以選擇系統(tǒng)中的最高版本如本人的就是2.6版本),然后在當前目錄下建立一個名為“學生”的ACCESS數(shù)據(jù)庫,其中表名為“表”,字段共有:學號,姓名,年齡,性別四個字段,接下來就是設計界面了(自己設計)
現(xiàn)在介紹如何使用代碼訪問ACCESS數(shù)據(jù)庫:
在代碼窗口中編寫一個返回字符型的函數(shù)
Function Connection() As String
'數(shù)據(jù)庫的連接設置配置
Connection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" App.Path + "\學生.mdb"
End Function
該函數(shù)用于連接數(shù)據(jù)庫用
Private Form_Load()
Dim cnn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
cnn.Open Connection
Set Rst = New ADODB.Recordset
Rst.Open "select * from 表", cnn, adOpenKeyset, adLockOptimistic
End Sub
注:
Dim cnn As New ADODB.Connection創(chuàng)建一個ADO數(shù)據(jù)庫連接對象
Dim Rst As New ADODB.Recordset為創(chuàng)建一個ADO數(shù)據(jù)庫記錄對象
select * from 表 是SQL查詢語言,這里為數(shù)據(jù)源,意思就是打開數(shù)據(jù)庫“學生”中的表“表”
下面是將數(shù)據(jù)庫表中的字段值顯示出來的一個過程
Sub View()
Dim i As Integer
For i = 0 To 2
Text1(i) = Rst.Fields(i)'text1為控件數(shù)組
Next
If (Rst.Fields(3) = True) Then
Text1(3) = "男"
Else
Text1(3) = "女"
End If
End Sub
要訪問ACCESS數(shù)據(jù)庫就這樣可以實現(xiàn),訪問SQL也差不多,稍有不同,回答完畢,如還有問題請繼續(xù)和我聯(lián)系,本人是專使用VB+SQL/Delphi+SQL開發(fā)數(shù)據(jù)庫管理系統(tǒng)的程序員。
建立數(shù)據(jù)集,綁定到窗口。不會的話,把要用的表從數(shù)據(jù)集拖到窗口,再刪除就行了
提取方法
數(shù)據(jù)及名稱.表格名稱.rows(2).item(3).tostring 就是了
以下是完整模塊
Imports System.Data
Imports System.IO
Imports System.Data.OleDb
Module Module1
Public cn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" Application.StartupPath "\mdb數(shù)據(jù)庫名字.mdb") '定義連接
Public DataBaseRST As Integer '用來返回數(shù)據(jù)庫執(zhí)行結果
Public Function DataModify(ByVal str As String) As Boolean '進行數(shù)據(jù)庫修改操作
Dim cmdinsert As New OleDbCommand
Try
cmdinsert.CommandText = str
cmdinsert.Connection = cn
If cn.State = ConnectionState.Closed Then cn.Open()
DataBaseRST = cmdinsert.ExecuteNonQuery() '用來返回執(zhí)行的結果
cn.Close()
Return True
Catch ex As Exception
MessageBox.Show(Err.Description, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return False
End Try
End Function
Public Function Search(ByVal str As String, ByVal DGV As DataGridView) As Boolean '查詢 str---查詢命令,DGV---DataGridView,用來顯示數(shù)據(jù)的控件
Dim tb As New DataTable
Try
Dim ap As New OleDb.OleDbDataAdapter(str, cn)
ap.Fill(tb)
DGV.DataSource = tb
Return True
Catch ex As Exception
MessageBox.Show(Err.Description, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return False
End Try
End Function
End Module
'以下是調用方法
DataModify(" insert into aa values ('1','2')")'-------這里是數(shù)據(jù)庫更新操作
Search("select bb from aa",DataGridView1)'-----------這里是數(shù)據(jù)表查詢操作