資源描述:
《VB中用ADO對象動態(tài)創(chuàng)建數(shù)據(jù)庫和表.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、VB中用ADO對象動態(tài)創(chuàng)建數(shù)據(jù)庫和表我們現(xiàn)在的目的就是讓用戶利用ADO對象在程序運(yùn)行過程中創(chuàng)建數(shù)據(jù)庫和表,就好象他利用Access來建立數(shù)據(jù)庫和表一樣。為此,我們應(yīng)該引用對象庫"MicrosoftActiveXDataObjects2.5Library"和"MicrosoftADOExt2.1.ForDDLSecurity" 我們不妨用一個實(shí)例來說明具體的操作過程和方法。我們的實(shí)例要達(dá)到目的是:在程序運(yùn)行過程中建立一個數(shù)據(jù)庫,數(shù)據(jù)庫的名稱由用戶輸入。然后在數(shù)據(jù)庫中建立一個名為"MyTable"的
2、數(shù)據(jù)表,數(shù)據(jù)表中有三個字段,它們分別是:"編號"(整數(shù)型)、"姓名"(字符型,寬度為8)、"住址"(字符型,寬度為50),接著在數(shù)據(jù)表中添加一條記錄,最后在DataGrid控件中把記錄的內(nèi)容顯示出來,并且讓用戶在DataGrid控件中任意修改、添加記錄?! ∈紫仍趘b中新建一個窗體,然后在"工程"菜單中引用對象庫"MicrosoftActiveXDataObjects2.5Library"和"MicrosoftADOExt2.1.ForDDLSecurity"。接著定義三個窗體級的對象變量和一個窗
3、體級的字符串變量,它們的具體定義是: DimcatAsNewADOX.Catalog'不用cat用另外一個名字也可以 DimconnAsNewADODB.Connection DimrsAsNewADODB.Recordset DimpstrAsString'定義該變量是為了后面的書寫方便 為了更靈活地創(chuàng)建數(shù)據(jù)庫,我們可以在窗體中加入一個通用對話框、一個DataGrid控件,三個命令按鈕,它們的標(biāo)題分別是:創(chuàng)建數(shù)據(jù)庫和表、查看、更新。通用對話框的作用是給用戶輸入數(shù)據(jù)庫文件名和決定數(shù)據(jù)庫的
4、存放位置。"創(chuàng)建數(shù)據(jù)庫和表"命令按鈕對應(yīng)的代碼是: PrivateSubCommand1_Click() DimfmAsString'fm變量用來獲取用戶輸入的文件名 CommonDialog1.Filter="MDB文件(*.mdb)
5、*.mdb
6、AllFiles(*.*)
7、*.*
8、" CommonDialog1.FilterIndex=1 CommonDialog1.InitDir="D:Jthpaper" CommonDialog1.Flags=6 CommonDialog1
9、.Action=2 IfCommonDialog1.FileName=""Then MsgBox"你必須輸入一個文件名,請重新保存一次!" ExitSub Else fm=CommonDialog1.FileName EndIf pstr="Provider=Microsoft.Jet.OLEDB.4.0;"'不能把這里的4.0改為3.51 pstr=pstr&"DataSource="&fm cat.Createpstr'創(chuàng)建數(shù)據(jù)庫 DimtblAsNewTable cat
10、.ActiveConnection=pstr tbl.Name="MyTable"'表的名稱 tbl.Columns.Append"編號",adInteger'表的第一個字段 tbl.Columns.Append"姓名",adVarWChar,8'表的第二個字段 tbl.Columns.Append"住址",adVarWChar,50'表的第三個字段 cat.Tables.Appendtbl'建立數(shù)據(jù)表 conn.Openpstr rs.CursorLocation=adUseCli
11、ent rs.Open"MyTable",conn,adOpenKeyset,adLockPessimistic rs.AddNew'往表中添加新記錄 rs.Fields(0).Value=9801 rs.Fields(1).Value="孫悟空" rs.Fields(2).Value="廣州市花果山" rs.Update EndSub 上面程序中有一個需要說明的地方,這就是語句:pstr="Provider=Microsoft.Jet.OLEDB.4.0;",這個語句表示Micr
12、osoftJetOLEDB驅(qū)動程序的版本是4.0,這是目前最新的版本,利用它你可以用VB中的ADO對象訪問Access2000及其以下版本所建立的數(shù)據(jù)庫。你不能把這里的"4.0"改為"3.51",否則程序不能正常運(yùn)行;在VB6中,3.51版本的MicrosoftJetOLEDB驅(qū)動程序?qū)?yīng)的是Access97數(shù)據(jù)庫。換而言之,用這種方法建立的數(shù)據(jù)庫和表跟用Access2000所建立的數(shù)據(jù)庫和表是同一類型的,你只能直接用Access2000來打開,雖然你可以用VB6來訪問這種數(shù)據(jù)庫和