欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 国产精品美女网站在线看 | 亚洲日韩中文字幕一区 | 亚洲精品视频在线 | 亚洲欧美日韩精品久久亚洲区色播 | 日韩在线电影 | 日韩xxxx做受欧美 | 黄色小视频在线看 | 亚洲最黄网站 | 天天在线| 成人免费视频观看视频 | 99精品国产高清一区二区麻豆 | 伊人超碰 | 国产精品国产午夜免费福利看 | 国产午夜精品一区二区三区嫩草 | 美日韩一区二区三区 | 亚洲毛片大全 | 狠狠干2020| 国产在线精品一区二区 | 国内精品免费一区二区观看 | 日韩av免费在线观看 | 一级毛片视频 | 伦理午夜电影免费观看 | 182tv在线观看国产路线一 | 精品久久伊人 | 日韩欧美日本 | 国产精品久久久久久久久久红粉 | 成人一级视频 | 日韩国产欧美一区二区三区 | 污污成人一区二区三区四区 | 九一免费在线观看 | 日韩一区二区三区在线视频 | 成人性视频免费网站 | 高清国产美女一级a毛片 | 日韩视频在线观看 | 国产成+人+综合+亚洲 欧美 | www.国产福利 | 国内精品久久久久 | 国产区精品在线 | 精品久久成人免费第三区 | 国产美女黄色片 | 黄网站在线观看高清免费 |