大鳥的學習樂園
          路漫漫其修遠兮,吾將上下而求索
          posts - 26,comments - 27,trackbacks - 0
          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 大鳥 閱讀(2354) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 南汇区| 汝州市| 舟山市| 临朐县| 岳西县| 玉田县| 博爱县| 梁平县| 古浪县| 双牌县| 龙川县| 舞阳县| 大关县| 商南县| 长武县| 井研县| 宜昌市| 抚远县| 延边| 曲靖市| 乐至县| 沛县| 崇信县| 微山县| 教育| 庆云县| 承德市| 星子县| 荃湾区| 连城县| 桐梓县| 乌苏市| 鹤岗市| 宜阳县| 吴川市| 罗平县| 沙田区| 锦州市| 衡水市| 宽城| 新绛县|