亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

VB中用ADO對象動態創建數據庫和表

系統 1770 0
  在Visual Basic中,常用的數據訪問接口有下列三種:數據庫訪問對象(DAO,Data Access Object)、遠程數據庫對象(RDO,Remote Data Object)和ActiveX數據對象(ADO,ActiveX Data Object )。數據庫訪問技術一直在不斷進步,而這三種接口的每一種都分別代表了該技術的不同發展階段。最新的是ADO,它是比RDO和DAO更加簡單,然而更加靈活的對象模型。正因如此,越來越多的人在用VB開發數據庫軟件時使用ADO作為數據訪問接口。在開發過程中,我們通常的使用的方法是:先使用數據庫管理系統(例如:Microsoft Access)或VB中的可視化數據管理器建立好數據庫和數據表結構,然后在程序中通過使用ADODC數據庫控件或引用ADO對象與數據庫中的表建立連接,再通過數據庫感知控件(例如:文本框、DataGrid等)來進行數據庫的各種操作。在這種開發過程中,我們有時需要面對這樣一個問題:如何讓用戶在程序運行過程中動態地建立自己所需的數據庫和數據表以提高程序的靈活性呢?在程序運行過程中建立自己所需的數據庫和數據表,其本質就是用代碼(或者說通過編程)來建立數據庫和數據表。眾所周知,在Foxpro或ASP編程中,這是很容易的一件事件。那么在VB數據庫編程中又是怎樣來操作的呢?在VB數據庫編程中,如果使用DAO作為數據庫訪問接口技術,則可以用CreateDatabase結合CreateTableDef方法來實現,目前已有不少書和雜志都講到了這種方法,本文就不再講述了;但你如果使用的是最新的數據庫訪問接口技術ADO,你卻發現目前的書和雜志上沒有文章講到如何用代碼來建立數據庫和數據表的方法,可有時我們非常需要用到這種方法,下面我們就來解決這個問題 雅思答案_改分

2: ADO與ADOX

  我們先來對ADO 和ADOX進行簡單的認識。在VB6中,使用ADO開發數據庫應用程序時,我們要引用對象庫"Microsoft ActiveX Data Objects 2.5 Library", 這個東西的簡稱就是ADO,它是VB6數據庫最核心的對象群,也是VB數據庫開發人員經常所引用的對象庫,在VB6中你可以看到它的各種版本,從2.0版到2.6版都有,很多人對它已經很熟悉,在此我們不再詳細介紹。如果要在程序運行過程中創建數據庫和表,我們還要引用對象庫"Microsoft ADO Ext 2.1. For DDL Security",簡稱為ADOX,其庫文件名為是:Msadox.dll。ADOX是對 ADO 對象和編程模型的擴展,它將 ADO 擴展為包括創建、修改和刪除模式對象,如表格和過程。它還包括安全對象,用于維護用戶和組,以及授予和撤消對象的權限。ADOX的對象如下表所示 托福答案_改分

  對象 說明

  Catalog 包含描述數據源模式目錄的集合。

  Column 表示表、索引或關鍵字的列。

  Group? 表示在安全數據庫內有訪問權限的組帳號。

  Index? 表示數據庫表中的索引。

  Key? 表示數據庫表中的主關鍵字、外部關鍵字或唯一關鍵字。

  Procedure 表示存儲的過程。

  Table? 表示數據庫表,包括列、索引和關鍵字。

  User? 表示在安全數據庫內具有訪問權限的用戶帳號。

  View? 表示記錄或虛擬表的過濾集。

  ADOX常用方法有:Append(包括Columns、Groups、Indexes、Keys、Procedures、Tables、Users、Views)、Create(創建新的目錄)、Delete(刪除集合中的對象)、Refresh(更新集合中的對象)等等。有關 ADOX 的詳細信息,請在 http://www.microsoft.com/data/ado 中參閱 Microsoft 發布的有關 ADOX說明的 Web 頁。

3: 在原有數據表的基礎上產生新的數據表

  如果僅僅是在已有的數據表的基礎上產生新的數據表,我們只要引用對象庫"Microsoft ActiveX Data Objects 2.5 Library"再利用Select…Into語句就可以了。例如:有一個名為Wage.mdb的數據庫,數據庫中有一個名為"工資表"數據表,該數據表的字段有:編號、姓名、基本工資、津貼、應發工資、扣款、實發工資等,這個表中已經有很多的記錄。現在我們把其中的實發工資大于2000的記錄篩選出來組成一個新表,新表的名稱由用戶從文本框中輸入,新表中我們只要三個字段,它們是:編號、姓名、實發工資。我們用下列程序就可以實現:

  (事先在窗體中添加一個文本框Text1和一個命令按鈕Command1)

  Dim conn As New ADODB.Connection

  Dim rs As New ADODB.Recordset

  Dim command As New ADODB.command

  Private Sub Command1_Click()

  Dim bm As String

  Dim sql As String

  If Text1.Text <>"" Then

  bm = Trim(Text1.Text)

  sql= "Select 編號,姓名,實發工資 Into " + bm + " From 工資表 Where 實發工資>2000"

  Set command.ActiveConnection = conn

  command.CommandText = sql

  command.Execute

  Else

  MsgBox "你必須輸入一個名字"

  End If

  Private Sub Form_Load()

  Dim str As String

  str = App.Path

  If Right(str, 1) <>"\" Then

  str = str + "\"

  End If

  pstr = "Provider=Microsoft.Jet.OLEDB.3.51;"

  pstr = pstr & "Persist Security Info=False;"

  pstr = pstr & "Data Source=" & str & "wage.mdb"

  conn.Open pstr

  rs.CursorLocation = adUseClient

  rs.Open "工資表", conn, adOpenKeyset, adLockPessimistic

  Set DataGrid1.DataSource = rs

  End Sub

  當然,我們還可以把程序設計得更好,比如:讓用戶先在窗口中任意選擇所需的字段和一些條件,然后再組合生成一個新表。但無論如何,這種操作只能在從原表的基礎上產生一個新表,不能產生一個數據庫文件,并且新表和原表放在同一個數據庫中。

VB中用ADO對象動態創建數據庫和表


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品福利视频一区二区三区 | 青青青国产在线 | 日本免费人做人一区在线观看 | 天天操天天舔天天射 | 成人欧美一区二区三区视频不卡 | 手机看片福利久久 | 97影院九七影院理论片 | 欧美久| 中文字幕精品视频在线 | 国内精品久久久久久久 | 色婷婷六月桃花综合影院 | 看免费的毛片 | 亚洲 欧美 另类 天天更新影院 | 九九影院韩国理伦片 | 亚洲欧美一级久久精品 | 亚洲综合日韩 | 亚洲高清在线观看视频 | 免费女人18a级毛片视频 | 99精品这里只有精品高清视频 | 99久久久免费精品免费 | 99久久精品国产综合男同 | 国产在线看片护士免费视频 | 亚洲高清在线视频 | 国产一区二区在线 |播放 | 久久九九免费视频 | 日韩毛片高清在线看 | 奇米成人影视 | 亚洲精品国产美女在线观看 | 国产精品日本一区二区在线播放 | 天天操天天玩 | 国产精品成人一区二区1 | 欧美a级成人淫片免费看 | 国产露脸系列magnet | 精品国产欧美一区二区 | 99久久精品一区二区三区 | 日韩在线视频www色 日韩在线视频不卡 | 国产欧美一区二区三区沐欲 | 久久国产精品ww | 色综综 | 久久伊人免费视频 | 日本不卡高清 |