程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> VB兩種操作Access數據庫方法的比較

VB兩種操作Access數據庫方法的比較

編輯:關於Access數據庫
在VB編程中通常要與數據庫打交道,對於數據量較小的應用,一般選用Access作為數據庫,因為Access數據庫比較簡單,功能也比較齊全,數據的備份、拷貝都很方便,且程序發布時不需要額外單獨安裝其它的數據庫管理軟件。因此,在功能能夠滿足要求的條件下,Access數據庫往往成為一些小型數據庫軟件的首選。

  關於用VB操作Access庫表的方法有多種,一般初學者往往會使用數據控件,許多資料上也大都以此作為操作Access數據庫的起點來介紹,因為這個方法使用起來非常簡單,但使用數據控件的方法在程序編碼上往往不夠靈活。現在介紹一下其它兩種操作Access數據庫的方法。

  第一種:使用數據庫對象

  首先,要進行有關數據對象的聲明,代碼如下。

Dim MyWs As Workspace
Dim MyDB As Database
Dim WordTab As Recordset

  生成工作區,打開數據庫,然後再根據需要打開相應的庫表。

Set MyWs = DBEngine.CreateWorkspace″″ ″Admin″ ″″ dbUseJet 
Set MyDB = MyWs.OpenDatabase數據庫名稱 False False 
Set WordTab = MyDB.OpenRecordset″表名″ dbOpenDynaset 

  這種方法的優點是代碼比較簡單,要求的環境為DAO 2.5/3.51,其中表名可以換成SELECT語句,即根據條件打開所需要的記錄集,這種方法可脫離數據控件,可以比較方便靈活地操作數據庫表,增加了程序的靈活性。

  提示:經過測試發現,這種方法只能打開Access97庫表,對於Access2000庫表卻無能為力,會彈出庫表格式不對的出錯提示。另外,對數據環境的要求仍比較多。

  第二種:使用ADODB

  首先,聲明一個鏈接變量,並根據需要聲明記錄集變量。

Dim LocCnn1 As ADODB.Connection
Dim LocRst1 As ADODB.Recordset

  建立與數據庫的鏈接,如果數據庫沒有口令,最後一行可以不寫(寫上也不會錯)。

Set LocCnn1 = New ADODB.Connection
LocCnn1.Open ″Provider=Microsoft.Jet.OLEDB.4.0User ID=Admin″ & _
″Data Source=″ & App.Path & ″\數據庫名稱.mdb″& _
″Mode=Share Deny NoneExtended PropertIEs=''Persist Security Info=False″ & _
″Jet OLEDBDatabase PassWord='ASP561rbc'″

  這種方法雖然代碼長一些,但對數據環境要求低,且結構清晰,所編寫的發布程序也大為減小。由於與鏈接SQL Server等數據庫的方法一樣,因而大量的操作數據庫的代碼相同,當數據庫需要由Access擴充到一些大型數據庫,或由一些大型數據庫裁剪出一個簡單數據庫時,程序的移植會比較方便。

  另外,這種方法對於Access97及Access2000均能很好地支持,兼容性好。對於大量插入、刪除、修改等操作,只在Connection層進行即可,既可提高速度又可減少代碼。

  如果還要獲取具體的記錄集內容,則須再根據條件打開具體的庫表,代碼如下:

Set LocRst1 = New ADODB.Recordset 
LocRst1.CursorType = adOpenKeyset
LocRst1.LockType = adLockOptimistic
LocRst1.Open ″SELECT  FROM 表名″ LocCnn1adCmdText

  提示:一般情況下,建議使用第二種方法。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved