欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
VB中用ADO對象動(dòng)態(tài)創(chuàng )建數據庫和表(二)

  前面講到的方法有一定的局限性,它不能讓用戶(hù)產(chǎn)生自己所需的數據庫文件,即使能產(chǎn)生數據表也只能在原有表的基礎上生成。我們現在的目的就是讓用戶(hù)利用ADO對象在程序運行過(guò)程中創(chuàng )建數據庫和表,就好象他利用Access來(lái)建立數據庫和表一樣。為此,我們應該引用對象庫"Microsoft ActiveX Data Objects 2.5 Library""Microsoft ADO Ext 2.1. For DDL Security"

  我們不妨用一個(gè)實(shí)例來(lái)說(shuō)明具體的操作過(guò)程和方法。我們的實(shí)例要達到目的是:在程序運行過(guò)程中建立一個(gè)數據庫,數據庫的名稱(chēng)由用戶(hù)輸入。然后在數據庫中建立一個(gè)名為"MyTable"的數據表,數據表中有三個(gè)字段,它們分別是:"編號"(整數型)、 "姓名"(字符型,寬度為8)、"住址" (字符型,寬度為50),接著(zhù)在數據表中添加一條記錄,最后在DataGrid控件中把記錄的內容顯示出來(lái),并且讓用戶(hù)在DataGrid控件中任意修改、添加記錄。

  首先在vb中新建一個(gè)窗體,然后在"工程"菜單中引用對象庫"Microsoft ActiveX Data Objects 2.5 Library""Microsoft ADO Ext 2.1. For DDL Security"。接著(zhù)定義三個(gè)窗體級的對象變量和一個(gè)窗體級的字符串變量,它們的具體定義是:

  Dim cat As New ADOX.Catalog '不用cat用另外一個(gè)名字也可以

  Dim conn As New ADODB.Connection

  Dim rs As New ADODB.Recordset

  Dim pstr As String '定義該變量是為了后面的書(shū)寫(xiě)方便

  為了更靈活地創(chuàng )建數據庫,我們可以在窗體中加入一個(gè)通用對話(huà)框、一個(gè)DataGrid控件,三個(gè)命令按鈕,它們的標題分別是:創(chuàng )建數據庫和表、查看、更新。通用對話(huà)框的作用是給用戶(hù)輸入數據庫文件名和決定數據庫的存放位置。 "創(chuàng )建數據庫和表"命令按鈕對應的代碼是:

  Private Sub Command1_Click()

  Dim fm As String 'fm變量用來(lái)獲取用戶(hù)輸入的文件名

  CommonDialog1.Filter = "MDB文件(*.mdb)|*.mdb|AllFiles(*.*)|*.*|"

  CommonDialog1.FilterIndex = 1

  CommonDialog1.InitDir = "D:\Jthpaper"

  CommonDialog1.Flags = 6

  CommonDialog1.Action = 2

  If CommonDialog1.FileName = "" Then

  MsgBox "你必須輸入一個(gè)文件名,請重新保存一次!"

  Exit Sub

  Else

  fm = CommonDialog1.FileName

  End If

  pstr = "Provider=Microsoft.Jet.OLEDB.4.0;" '不能把這里的4.0改為3.51

  pstr = pstr & "Data Source=" & fm

  cat.Create pstr '創(chuàng )建數據庫

  Dim tbl As New Table

  cat.ActiveConnection = pstr

  tbl.Name = "MyTable" '表的名稱(chēng)

  tbl.Columns.Append "編號", adInteger '表的第一個(gè)字段

  tbl.Columns.Append "姓名", adVarWChar, 8 '表的第二個(gè)字段

  tbl.Columns.Append "住址", adVarWChar, 50 '表的第三個(gè)字段

  cat.Tables.Append tbl '建立數據表

  conn.Open pstr

  rs.CursorLocation = adUseClient

  rs.Open "MyTable", conn, adOpenKeyset, adLockPessimistic

  rs.AddNew '往表中添加新記錄

  rs.Fields(0).Value = 9801

  rs.Fields(1).Value = "孫悟空"

  rs.Fields(2).Value = "廣州市花果山"

  rs.Update

  End Sub

  上面程序中有一個(gè)需要說(shuō)明的地方,這就是語(yǔ)句:pstr = "Provider=Microsoft.Jet.OLEDB.4.0;",這個(gè)語(yǔ)句表示Microsoft Jet OLEDB驅動(dòng)程序的版本是4.0,這是目前最新的版本,利用它你可以用VB中的ADO對象訪(fǎng)問(wèn)Access2000及其以下版本所建立的數據庫。你不能把這里的"4.0"改為"3.51",否則程序不能正常運行;在VB6中,3.51版本的Microsoft Jet OLEDB驅動(dòng)程序對應的是Access97數據庫。換而言之,用這種方法建立的數據庫和表跟用Access2000所建立的數據庫和表是同一類(lèi)型的,你只能直接用Access2000來(lái)打開(kāi),雖然你可以用VB6來(lái)訪(fǎng)問(wèn)這種數據庫和其中的數據表,但你不能用Access97VB6中的"可視化數據管理器"來(lái)直接打開(kāi)。

  在程序運行時(shí)只要用戶(hù)單擊該命令按鈕就可以創(chuàng )建自己所需的數據庫。"查看"命令按鈕對應的代碼是:

  Private Sub Command3_Click()

  Set DataGrid1.DataSource = rs

  End Sub

  "更新"命令按鈕對應的代碼是:

  Private Sub Command4_Click()

  rs.UpdateBatch

  End Sub

  我們這個(gè)實(shí)例只是用來(lái)說(shuō)明問(wèn)題,在實(shí)際應用當中你可以把它進(jìn)一步改進(jìn),例如:你在窗體中再增加一些文本框和組合框,供用戶(hù)輸入或選擇數據表的名稱(chēng)、字段的名稱(chēng)、字段的寬度和小數位數。這樣,用戶(hù)就可以自主地決定數據庫的所有內容了,程序的靈活性也就大大提高了。

  結束語(yǔ)

  如果你使用的是最新的數據訪(fǎng)問(wèn)接口技術(shù)ADO(Microsoft強烈建議大家使用這種最新技術(shù)),你又想在程序運行過(guò)程中創(chuàng )建數據庫文件和數據表,此時(shí),你應該在Visual Basic 6.0中引用對象庫"Microsoft ActiveX Data Objects 2.5 Library""Microsoft ADO Ext 2.1. For DDL Security",然后使用ADOX對象的Create、Append等方法就可以實(shí)現。 這種方法使用的Microsoft Jet OLEDB驅動(dòng)程序的版本是4.0,因此,使用這種方法建立的數據庫文件和數據表可以直接使用Access2000打開(kāi)。筆者在VB數據庫軟件開(kāi)發(fā)過(guò)程中已多次使用這種方法,該方法在提高程序的靈活性和滿(mǎn)足用戶(hù)的特殊需要方面有很大的作用。

 

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
VB程序中用ADO對象動(dòng)態(tài)創(chuàng )建數據庫和表
VB和數據庫
用VB動(dòng)態(tài)創(chuàng )建Access數據庫簡(jiǎn)例
VB通過(guò)ADO連接SQL數據的兩種方法
VB6.0使用ADO對象連接數據庫
ADO斷開(kāi)數據庫連接
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久