當前位置:首頁 » 編程軟體 » dao編程

dao編程

發布時間: 2024-05-13 00:18:59

A. 在Visual Basic中用DAO實現資料庫編程

DAO(DataAccessObject)全稱為數據訪問對象 它是資料庫編程的重要方法之一 DAO的一種面向對象的界面介面 特色為它不是可視化的對象 使用它全部都要靠編碼來完成 DAO是設計關系型資料庫系悔磨槐統結構的對象類的集合 它提供了完成管理這樣一個系統所需游舉的全部操作的屬性和方法 包括創建資料庫 定義表 欄位和碧友索引 建立表間的關系 定位和查詢資料庫等工具 由於ADO(ActiveXDataObjectActiveX數據對象)的出現 DAO的使用已大大減少 但它無須使用ODBC(開放資料庫連接)便可連接各個數據源 因而我們仍經常用經典的DAO 下面我向大家詳細介紹如何使用DAO編程

DAO使用之前必須先引用 方法為打開VB 從VB的 工程 菜單中 選擇 引用 項 當 引用 對話框出現後 從庫的列表中 選擇 MicrosoftDAO ObjectLibrary 單擊 確定 現在便可以使用DAO對象庫提供的所有對象進行編程了

一 創建資料庫

在DAO中用CreatDataBase方法可以根據用戶需求動態的創建資料庫 這一點在程序中是非常有用的 用戶可以根據要求實時建立資料庫 建立過程如下

PrivateSubCom_creat_Click()

OnErrorGoToErr

CreatDataBase 資料庫名稱 mdb dbLangGeneral

Msgbox 資料庫建立完畢

ExitSub

Err :

MsgBox 不能建立資料庫! &vbCrLf&vbCrLf&Err Description vbInformation

EndSub

這樣 資料庫便在當前默認的路徑下建立了

二 創建表與欄位

建立資料庫後 則需要在該資料庫中建立表 這要用到TableDef對象 先定義一個TableDef類型的對象 然後用TableDef集合中Append方法將之追加到資料庫當中去 並且同時定義一個Field對象 用CreatFiele的方法創建一個Field對象 向表中添加欄位 例如:

PrivateSubCom_table_Click()

OnErrorGoToErr

DimDefdbAsDataBase

DimNewTableAsTableDef

DimNewFieldAsField

SetDefdb=Workspaces( ) OpenDatabase(App path& 資料庫名稱 mdb False)

SetNewTable=DefDataBase CreateTableDef( 表名 )

SetNewField=DefTable CreateField( 欄位名 dBText )′創建一個字元型的欄位 長度為 個字元

DefTableFields AppendNewField′欄位追加

DefDatabase TableDefs AppendNewTable′表追加

Msgbox 表建立完畢

ExitSub

Err :

MsgBox 對不起 不能建立表 請先再建表前建立資料庫? vbCritical

EndSub

一個資料庫可能有十幾個甚至幾十個欄位 一個表中有多少個欄位 則要創建多少次並要追加到表中 每建立一個欄位後都要用到欄位追加命令 但是表追加只需在所有欄位建立完成後用一條命令即可完成

三 打開資料庫

在VB中 對一個對象變數引用之前必須加以說明 DAO也是如此 必須先聲明資料庫變數 例如 DimdbaseAsDatabase 建立了資料庫對象變數後 我們便可打開資料庫了 在一般情況下都只是訪問一個資料庫 當打開資料庫後再對資料庫中的各個記錄進行操作 這就要用到Recordset對象建立記錄集 例如

PrivateSubCommand_OpenDatabase_Click()

DimdbaseasDatabase

DimrsAsRecordset

Setdbase=OpenDatabase(App path& 資料庫名稱 mdb )

Setrs=dbase OpenRecordset( select*from表名 )

EndSub

這樣 資料庫中的記錄便放到Recordset中 可以進行後續操作了

四 使用資料庫

當打開資料庫 建立Recordset記錄集後 便可瀏覽 刪除 添加 查找資料庫中的內容

)向前瀏覽

PrivateSubcmd_previous_Click()

rs MovePrevious

ifrs BOF=Truethen

rs Movelast

Endif

fori= to

label(i) caption=rs F

)向後瀏覽

PrivateSubcmd_next_Click()

rs MoveNext

Ifrs EOF=Truethen

rs MoveFirst

Endif

fori= to

label(i) caption=rs Fields(i)&

next

EndSub

)刪除記錄

PrivateSubcmd_del_Click()

OnErrorGoTohandle

Dimmsgasstring

msg= 是否要刪除記錄 &Chr$( )

msg=msg&label( )′把刪除記錄的代號加入msg中

IfMsgbox(msg 刪除記錄 )<> ThenExitsub

rs delete

rs Movenext

Ifrs EOF=TrueThen

rs MovePrevious

Endif

fori= to

label(i) caption=rs Fields(i)&

next

handle:

MsgBox 該記錄無法刪除!!!

ExitSub

EndSub

)添加記錄

向資料庫中添加記錄比較麻煩一點 大致分為三步 首先 用AddNew方法向資料庫添加一個新的空白記錄 其次 將要輸入的數據分別賦到資料庫的各個欄位中 最後 用Updata的方法 把記錄寫到資料庫中去 例如

PrivateSubcmd_new_Click()

rs AddNew

Fori= to

rs Fields(i)=TextBox(i) Text

Next

rs Updata

EndSub

)查找記錄

查找記錄可以用Find方法 例如

PrivateSubCmd_search_Click()

Setrs=dbase openRecordset( 表名 dbopenDynaset)

rs findfirst 欄位名= &Text Text& ′Text Text是輸入的關鍵字

ifrs Nomatch=Truethen

Msgbox 對不起 沒有該記錄

else

Fori= to

label(i) caption=rs Fields(i)&

Next

Endif

rs close

EndSub

以上只是大致介紹了DAO的一些最常用 最典型的用法 真正要熟練掌握它需要不懈的努力 當你很好的理解了DAO後 對學習新的RDO和ADO也有很大的幫助 並且DAO和ADO可以同時使用 DAO的缺陷在於查找功能不強 沒有ADO方便 但動態創建資料庫卻遠超ADO 因此有時二者結合更強大 我們相信DAO一定會幫你節約寶貴時間 為工作提供方便

lishixin/Article/program/c/201404/30446

熱點內容
linux抓包工具 發布:2024-11-08 20:25:07 瀏覽:458
我的世界神奇寶貝伺服器聯機生存 發布:2024-11-08 20:17:07 瀏覽:722
溫州少兒編程 發布:2024-11-08 20:16:28 瀏覽:549
伺服器硬體有什麼 發布:2024-11-08 20:13:52 瀏覽:319
windows存儲分層 發布:2024-11-08 20:04:34 瀏覽:753
淘寶客服電腦伺服器 發布:2024-11-08 19:39:26 瀏覽:910
伺服器4t如何擴容8t 發布:2024-11-08 19:32:27 瀏覽:297
網易我的世界電腦版好玩伺服器 發布:2024-11-08 19:16:06 瀏覽:414
學校電腦配置有哪些 發布:2024-11-08 19:00:40 瀏覽:267
安卓手機音量均衡器在哪裡 發布:2024-11-08 18:55:15 瀏覽:687