VB利用ADO控件連接access數(shù)據(jù)庫
今天告訴大家VB利用ADO控件連接access數(shù)據(jù)庫的兩種方法:
一種是在 adodc1的屬性里設(shè)置數(shù)據(jù)庫文件的路徑,這種方法的優(yōu)點(diǎn)是簡(jiǎn)單易操作,缺點(diǎn)是,當(dāng)源文件換了地方后,要重新設(shè)置數(shù)據(jù)庫的路徑,否則連接不上數(shù)據(jù)庫了。
一種是用代碼設(shè)置數(shù)據(jù)庫的路徑,,這種方法的優(yōu)點(diǎn)就是只要源文件和數(shù)據(jù)庫在同一文件夾下,,無論移動(dòng)到哪里都能連接上。
如果沒有建立好數(shù)據(jù)庫的話,先建立一個(gè)數(shù)據(jù)庫,然后建立一個(gè)表比如我們建的表名為message,然后把里面的字段名稱和數(shù)據(jù)類型都按自己的需要設(shè)置好.然后保存就可以了.
打開Microsoft Visual Basic6.0 我用的是VB6.0,在需要調(diào)用數(shù)據(jù)庫的窗體上加入一個(gè)adodc控件,默認(rèn)名稱為:Adodc1,。默認(rèn)的情況下工具欄里是沒有這個(gè)控件的,可以打開工程---部件(快捷鍵CTRL+T),去掉只顯示選定項(xiàng)的勾,然后勾上Microsoft ADO Data Control(OLEDB),然后確定,,工具欄就會(huì)多了一個(gè)adodc的控件。
第一種方法:設(shè)置adodc1的屬以連接數(shù)據(jù)庫.在adodc1控件上右鍵--Adodc屬性--使用連接字符串--生成--Microsoft Jet 4.0 OLE DB Provider--下一步--選擇或輸入數(shù)據(jù)庫名稱---找到要連接的數(shù)據(jù)庫后,確定.然后記錄源設(shè)置屬性. 如果要把內(nèi)容提交到數(shù)據(jù)庫一般使用adCmdTable. 表選擇要連接的表,。
設(shè)置完畢后就可以了.
如果我們想把內(nèi)容提交到數(shù)據(jù)庫.舉個(gè)例子..
在窗體建立一個(gè)文本框,設(shè)置屬性中的DataSource為adodc1 DataField為要連接的數(shù)據(jù)庫的字段名,。如果數(shù)據(jù)庫中有字段,會(huì)讓你選擇,。
設(shè)置好后在窗體加一個(gè)添加記錄和一個(gè)提交的按鈕,,設(shè)置代碼:
Private Sub Command1_Click()
Adodc1.Recordset.Update '保存
Adodc1.Refresh '刷新
End Sub
添加按鈕代碼:
Private Sub Command2_Click()
Adodc1.Recordset.AddNew '添加新紀(jì)錄
Adodc1.Recordset("姓名").Value = Text1.Text
End Sub
第二種方法:
在窗體添加Adodc控件一個(gè)text控件 一個(gè)添加記錄按鈕一個(gè)提交按鈕
在窗體設(shè)置代碼:
Private Sub Form_Load()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\db1.mdb;Persist Security Info=False" '設(shè)置數(shù)據(jù)庫路徑
Adodc1.CommandType = adCmdText '設(shè)置記錄源
Adodc1.RecordSource = "select * from message" '連接數(shù)據(jù)庫的message表文件
Set Text1.DataSource = Adodc1
text1.DataField = "姓名"
End Sub
添加記錄按鈕代碼:
Private Sub Command1_Click()
Adodc1.Recordset.AddNew '添加新紀(jì)錄
End Sub
提交代碼:
Private Sub Command2_Click()
Adodc1.Recordset.Update '保存
Adodc1.Refresh '刷新
End Sub
好了連接方法講完了,我都在機(jī)子上測(cè)試過了,因該沒有什么問題的。如果有問題請(qǐng)多看幾遍,,或看些別人寫的程序代碼,,會(huì)有很大進(jìn)步的,我的VB也不好,因?yàn)椴皇怯?jì)算機(jī)專業(yè)的,,老師也沒有教很多,高手莫笑,。好了我再給大家?guī)讉€(gè)查詢數(shù)據(jù)庫常用的代碼:
首記錄按鈕的代碼:
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 "已經(jīng)無記錄", , "提示"
End If
End Sub