欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

VB中用ADO對象動態建立新的數據庫和表

系統 1743 0

  前面講到的方法有一定的局限性,它不能讓用戶產生自己所需的數據庫文件,即使能產生數據表也只能在原有表的基礎上生成。我們現在的目的就是讓用戶利用ADO對象在程序運行過程中創建數據庫和表,就好象他利用Access來建立數據庫和表一樣。為此,我們應該引用對象庫"Microsoft ActiveX Data Objects 2.5 Library"和"Microsoft ADO Ext 2.1. For DDL Security"
?
?  我們不妨用一個實例來說明具體的操作過程和方法。我們的實例要達到目的是:在程序運行過程中建立一個數據庫,數據庫的名稱由用戶輸入。然后在數據庫中建立一個名為"MyTable"的數據表,數據表中有三個字段,它們分別是:"編號"(整數型)、 "姓名"(字符型,寬度為8)、"住址" (字符型,寬度為50),接著在數據表中添加一條記錄,最后在DataGrid控件中把記錄的內容顯示出來,并且讓用戶在DataGrid控件中任意修改、添加記錄。
?
?  首先在VB中新建一個窗體,然后在"工程"菜單中引用對象庫"Microsoft ActiveX Data Objects 2.5 Library"和"Microsoft ADO Ext 2.1. For DDL Security"。接著定義三個窗體級的對象變量和一個窗體級的字符串變量,它們的具體定義是:
?
?  Dim cat As New ADOX.Catalog '不用cat用另外一個名字也可以
?
?  Dim conn As New ADODB.Connection
?
?  Dim rs As New ADODB.Recordset
?
?  Dim pstr As String '定義該變量是為了后面的書寫方便
?
?  為了更靈活地創建數據庫,我們可以在窗體中加入一個通用對話框、一個DataGrid控件,三個命令按鈕,它們的標題分別是:創建數據庫和表、查看、更新。通用對話框的作用是給用戶輸入數據庫文件名和決定數據庫的存放位置。 "創建數據庫和表"命令按鈕對應的代碼是 北美托福答案
?
?  Private Sub Command1_Click()
?
?  Dim fm As String 'fm變量用來獲取用戶輸入的文件名
?
?  CommonDialog1.Filter = "MDB文件(*.mdb)|*.mdb|AllFiles(*.*)|*.*|"
?
?  CommonDialog1.FilterIndex = 1
?
?  CommonDialog1.InitDir = "D:\Jthpaper"
?
?  CommonDialog1.Flags = 6
?
?  CommonDialog1.Action = 2
?
?  If CommonDialog1.FileName = "" Then
?
?  MsgBox "你必須輸入一個文件名,請重新保存一次!"
?
?  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 '創建數據庫
?
?  Dim tbl As New Table
?
?  cat.ActiveConnection = pstr
?
?  tbl.Name = "MyTable" '表的名稱
?
?  tbl.Columns.Append "編號", adInteger '表的第一個字段
?
?  tbl.Columns.Append "姓名", adVarWChar, 8 '表的第二個字段
?
?  tbl.Columns.Append "住址", adVarWChar, 50 '表的第三個字段
?
?  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
?
?  上面程序中有一個需要說明的地方,這就是語句:pstr = "Provider=Microsoft.Jet.OLEDB.4.0;",這個語句表示Microsoft Jet OLEDB驅動程序的版本是4.0,這是目前最新的版本,利用它你可以用VB中的ADO對象訪問Access2000及其以下版本所建立的數據庫。你不能把這里的"4.0"改為"3.51",否則程序不能正常運行;在VB6中,3.51版本的Microsoft Jet OLEDB驅動程序對應的是Access97數據庫。換而言之,用這種方法建立的數據庫和表跟用Access2000所建立的數據庫和表是同一類型的,你只能直接用Access2000來打開,雖然你可以用VB6來訪問這種數據庫和其中的數據表,但你不能用Access97或VB6中的"可視化數據管理器"來直接打開 雅思答案
?
?  在程序運行時只要用戶單擊該命令按鈕就可以創建自己所需的數據庫。"查看"命令按鈕對應的代碼是:
?
?  Private Sub Command3_Click()
?
?  Set DataGrid1.DataSource = rs
?
?  End Sub
?
?  "更新"命令按鈕對應的代碼是:
?
?  Private Sub Command4_Click()
?
?  rs.UpdateBatch
?
?  End Sub
?
?  我們這個實例只是用來說明問題,在實際應用當中你可以把它進一步改進,例如:你在窗體中再增加一些文本框和組合框,供用戶輸入或選擇數據表的名稱、字段的名稱、字段的寬度和小數位數。這樣,用戶就可以自主地決定數據庫的所有內容了,程序的靈活性也就大大提高了 托福答案
?
?  5: 結束語
?
?  如果你使用的是最新的數據訪問接口技術ADO(Microsoft強烈建議大家使用這種最新技術),你又想在程序運行過程中創建數據庫文件和數據表,此時,你應該在Visual Basic 6.0中引用對象庫"Microsoft ActiveX Data Objects 2.5 Library"和"Microsoft ADO Ext 2.1. For DDL Security",然后使用ADOX對象的Create、Append等方法就可以實現。 這種方法使用的Microsoft Jet OLEDB驅動程序的版本是4.0,因此,使用這種方法建立的數據庫文件和數據表可以直接使用Access2000打開。筆者在VB數據庫軟件開發過程中已多次使用這種方法,該方法在提高程序的靈活性和滿足用戶的特殊需要方面有很大的作用。
?

VB中用ADO對象動態建立新的數據庫和表


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲国产精品99久久久久久久久 | 亚洲一区国产视频 | 天天爱夜夜操 | 国产成人av在线播放 | 高清一区二区三区四区五区 | a毛片视频 | 亚洲精品婷婷无码成人A片在线 | 久草在钱 | 久久夜视频 | 亚州久久 | 欧美人与禽性xxxxx杂性 | 国产午夜一区二区在线观看 | 中文字幕国产 | 蜜臀在线免费观看 | 日韩久久一区二区三区 | 伊人艹 | 国产午夜精品福利视频 | 国产视频久久久 | 国产高潮久久精品AV无码 | 91视频8mav| 免费免费视频片在线观看 | 久久亚洲精品视频 | 素人视频在线观看免费 | 日本一本免费一二区 | 亚洲午夜成激人情在线影院 | 2021国产精品一区二区在线 | 天天狠狠色噜噜 | 男人的天堂亚洲 | 色综合色狠狠天天久久婷婷基地 | 亚洲午夜免费视频 | 日韩在线视屏 | 小宝与康熙粤语 | 最新中文字幕日本 | 成人毛片国产a | sm高h视频| 国产精品久久久久久久y | 国产高清一区 | 精品中文字幕久久久久久 | 九二淫黄大片看片 | 久久精品国内一区二区三区 | 香蕉视频在线观看免费国产婷婷 |