VB利用ADO控件連接access數據庫
今天告訴大家VB利用ADO控件連接access數據庫的兩種方法:
一種是在 adodc1的屬性里設置數據庫文件的路徑,這種方法的優點是簡單易操作,缺點是,當源文件換了地方后,要重新設置數據庫的路徑,否則連接不上數據庫了。
一種是用代碼設置數據庫的路徑,這種方法的優點就是只要源文件和數據庫在同一文件夾下,無論移動到哪里都能連接上。
如果沒有建立好數據庫的話,先建立一個數據庫,然后建立一個表比如我們建的表名為message,然后把里面的字段名稱和數據類型都按自己的需要設置好.然后保存就可以了.
打開Microsoft Visual Basic6.0 我用的是VB6.0,在需要調用數據庫的窗體上加入一個adodc控件,默認名稱為:Adodc1。默認的情況下工具欄里是沒有這個控件的,可以打開工程---部件(快捷鍵CTRL+T),去掉只顯示選定項的勾,然后勾上Microsoft ADO Data Control(OLEDB),然后確定,工具欄就會多了一個adodc的控件。
第一種方法:設置adodc1的屬以連接數據庫.在adodc1控件上右鍵--Adodc屬性--使用連接字符串--生成--Microsoft Jet 4.0 OLE DB Provider--下一步--選擇或輸入數據庫名稱---找到要連接的數據庫后,確定.然后記錄源設置屬性. 如果要把內容提交到數據庫一般使用adCmdTable. 表選擇要連接的表。
設置完畢后就可以了.
如果我們想把內容提交到數據庫.舉個例子..
在窗體建立一個文本框,設置屬性中的DataSource為adodc1 DataField為要連接的數據庫的字段名。如果數據庫中有字段,會讓你選擇。
設置好后在窗體加一個添加記錄和一個提交的按鈕,設置代碼:
Private Sub Command1_Click()
Adodc1.Recordset.Update '保存
Adodc1.Refresh '刷新
End Sub
添加按鈕代碼:
Private Sub Command2_Click()
Adodc1.Recordset.AddNew '添加新紀錄
Adodc1.Recordset("姓名").Value = Text1.Text
End Sub
第二種方法:
在窗體添加Adodc控件一個text控件 一個添加記錄按鈕一個提交按鈕
在窗體設置代碼:
Private Sub Form_Load()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\db1.mdb;Persist Security Info=False" '設置數據庫路徑
Adodc1.CommandType = adCmdText '設置記錄源
Adodc1.RecordSource = "select * from message" '連接數據庫的message表文件
Set Text1.DataSource = Adodc1
text1.DataField = "姓名"
End Sub
添加記錄按鈕代碼:
Private Sub Command1_Click()
Adodc1.Recordset.AddNew '添加新紀錄
End Sub
提交代碼:
Private Sub Command2_Click()
Adodc1.Recordset.Update '保存
Adodc1.Refresh '刷新
End Sub
好了連接方法講完了,我都在機子上測試過了,因該沒有什么問題的。如果有問題請多看幾遍,或看些別人寫的程序代碼,會有很大進步的,我的VB也不好,因為不是計算機專業的,老師也沒有教很多,高手莫笑。好了我再給大家幾個查詢數據庫常用的代碼:
首記錄按鈕的代碼:
Private Sub sjl_Click()
Adodc1.Recordset.MoveFirst
End Sub
上一條記錄按鈕代碼:
Private Sub up_Click()
Adodc1.Recordset.MovePrevious
If Adodc1.Recordset.BOF Then
Adodc1.Recordset.MoveFirst
End If
End Sub
下一條記錄代碼:
Private Sub down_Click()
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveLast
End If
End Sub
末記錄代碼:
Private Sub mjl_Click()
Adodc1.Recordset.MoveLast
End Sub
刪除記錄代碼:
Private Sub Command3_Click()
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
If (Adodc1.Recordset.BOF Or Adodc1.Recordset.EOF) Then
MsgBox "已經無記錄", , "提示"
End If
End Sub
如果有什么不對的地方,請大家指正。
posted on 2008-11-26 07:19
大鳥 閱讀(2353)
評論(0) 編輯 收藏