資源描述:
《在vb6中動態(tài)創(chuàng)建使用ado控件訪問數(shù)據(jù)庫》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、在VB6中動態(tài)創(chuàng)建使用ADO控件訪問數(shù)據(jù)庫>>教育資源庫使用ADO控件可以方便的在VB6中訪問ODBC數(shù)據(jù)庫,但是通過直接放置ADODS控件來獲得ADO的數(shù)據(jù)連接比較麻煩,我們可以在VB工程中創(chuàng)建一個公共數(shù)據(jù)模塊,將ADO控件的初始化、建立連接、關(guān)閉連接等操作都寫到函數(shù)中,這樣就可以在工程的其他模塊中共享調(diào)用這個ADO連接。一次完整的ADO調(diào)用操作分為如下幾個步驟:打開ADO到數(shù)據(jù)庫的連接,初始化ADORECORDSET集。通過寫入SQL語句執(zhí)行查詢并返回查詢結(jié)果RECORDSET集;或者可以通過寫入SQL語句執(zhí)行相應(yīng)數(shù)據(jù)庫操作。釋放RECORDSET集,關(guān)閉數(shù)據(jù)庫連接
2、。需要注意的是,每個動態(tài)創(chuàng)建的ADO同時只能被一個過程調(diào)用,如果需要進(jìn)行多表并行操作,可能需要在公共數(shù)據(jù)模塊中建立多個動態(tài)ADO。下面是相關(guān)的代碼:'-----------------------------------------------------------------'如下代碼保存在名為my.bas的工程模塊中PublicCONNAsAdodb.Connection'定義ADOCONNECTION對象PublicRSAsAdodb.Recordset'定義ADORECORDSET對象'****************************'打開數(shù)據(jù)庫連接'
3、****************************FunctionConnOpen()DimASTRAsStringSetCONN=Nep;ASTR";PersistSecurityInfo=False"'本例的ODBC連接為JET4.0的直接到MDB文件的連接,如果使用ODBC數(shù)據(jù)源可以使用如下CONNECTION串:'Provider=MSDASQL.1;PassicLockType=adLockOptimisticEnddb'**********************************************************PublicFun
4、ctionGetDatabasePath()AsStringDimsPathAsStringIfRight$(App.Path,1)=""ThensPath=App.Path+"dbs"ElsesPath=App.Path+"dbs"EndIfGetDatabasePath=sPath+"db1.mdb"EndFunction'Endofmy.bas'-----------------------------------------------------------------如下示例代碼為my.bas的使用方法:'----------------------
5、-------------------------------------------'使用RS對象執(zhí)行SELECT語句'TableName和FieldName分別為表名和字段名'查詢結(jié)果保存在數(shù)組s中PrivateSubRunSelectmand()Dims(99)asString>>>這篇文章來自..,。>DimiasIntegeri=0Callmy.ConnOpenmy.RS.Open"SELECT*FROMTableName"oveNextIS系統(tǒng)很實用,也可以在報表和數(shù)據(jù)表中使用,缺點是在多表操作和函數(shù)嵌套調(diào)用時,一個動態(tài)ADO對象不能同時執(zhí)行兩個工作,后一個
6、寫入的SQL語句會覆蓋先寫入的SQL語句,當(dāng)在回到前一個過程時,會因為字段找不到而出錯。因此如果可能需要進(jìn)行多表操作,可以嘗試多定義幾個CONN和RS對象。上一頁12>>>>這篇文章來自..,。