欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 不卡一区在线观看 | 国产精品日本欧美一区二区 | 欧美日韩xxx | 日本黄大片影院一区二区 | 波多野一区二区 | 久久久久黄 | 亚洲欧美日韩在线 | 综合网婷婷 | 精品久久一区二区三区 | 668溜溜吧 | 女人午夜色又刺激黄的视频免费 | 国产高清在线精品一区免费97 | 久草视频在线免费播放 | 偷拍自拍色| 国产精品久久久99 | 亚洲欧美日韩另类精品一区二区三区 | 天天天天做夜夜夜夜 | 久久久中文字幕日本 | 国产一区久久精品 | 成人欧美一区二区三区在线播放 | 美女污污视频在线观看 | 添人人躁日日躁夜夜躁夜夜揉 | 欧美交换乱理伦片120秒 | 国产网站在线播放 | 免费看的久久久久 | 尤物国产在线精品福利一区 | 国产不卡一区 | 天天摸天天碰天天碰 | 成年人看的视频网站 | 啪啪免费视频网站 | 国产中文视频 | 国产超91 | 成人在线一区二区 | 国产精品永久免费视频观看 | 亚洲精品午夜视频 | a在线视频观看 | 国产亚洲综合一区二区 | 久久精品免费视频观看 | 亚洲一二三区精品 | 国产精品揄拍100视频最近 | 性高跟鞋xxxxhd4kvideos |