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

VB中用ADO對(duì)象動(dòng)態(tài)創(chuàng)建數(shù)據(jù)庫(kù)和表

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

2: ADO與ADOX

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

  對(duì)象 說(shuō)明

  Catalog 包含描述數(shù)據(jù)源模式目錄的集合。

  Column 表示表、索引或關(guān)鍵字的列。

  Group? 表示在安全數(shù)據(jù)庫(kù)內(nèi)有訪問(wèn)權(quán)限的組帳號(hào)。

  Index? 表示數(shù)據(jù)庫(kù)表中的索引。

  Key? 表示數(shù)據(jù)庫(kù)表中的主關(guān)鍵字、外部關(guān)鍵字或唯一關(guān)鍵字。

  Procedure 表示存儲(chǔ)的過(guò)程。

  Table? 表示數(shù)據(jù)庫(kù)表,包括列、索引和關(guān)鍵字。

  User? 表示在安全數(shù)據(jù)庫(kù)內(nèi)具有訪問(wèn)權(quán)限的用戶(hù)帳號(hào)。

  View? 表示記錄或虛擬表的過(guò)濾集。

  ADOX常用方法有:Append(包括Columns、Groups、Indexes、Keys、Procedures、Tables、Users、Views)、Create(創(chuàng)建新的目錄)、Delete(刪除集合中的對(duì)象)、Refresh(更新集合中的對(duì)象)等等。有關(guān) ADOX 的詳細(xì)信息,請(qǐng)?jiān)?http://www.microsoft.com/data/ado 中參閱 Microsoft 發(fā)布的有關(guān) ADOX說(shuō)明的 Web 頁(yè)。

3: 在原有數(shù)據(jù)表的基礎(chǔ)上產(chǎn)生新的數(shù)據(jù)表

  如果僅僅是在已有的數(shù)據(jù)表的基礎(chǔ)上產(chǎn)生新的數(shù)據(jù)表,我們只要引用對(duì)象庫(kù)"Microsoft ActiveX Data Objects 2.5 Library"再利用Select…Into語(yǔ)句就可以了。例如:有一個(gè)名為Wage.mdb的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)中有一個(gè)名為"工資表"數(shù)據(jù)表,該數(shù)據(jù)表的字段有:編號(hào)、姓名、基本工資、津貼、應(yīng)發(fā)工資、扣款、實(shí)發(fā)工資等,這個(gè)表中已經(jīng)有很多的記錄。現(xiàn)在我們把其中的實(shí)發(fā)工資大于2000的記錄篩選出來(lái)組成一個(gè)新表,新表的名稱(chēng)由用戶(hù)從文本框中輸入,新表中我們只要三個(gè)字段,它們是:編號(hào)、姓名、實(shí)發(fā)工資。我們用下列程序就可以實(shí)現(xiàn):

  (事先在窗體中添加一個(gè)文本框Text1和一個(gè)命令按鈕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 編號(hào),姓名,實(shí)發(fā)工資 Into " + bm + " From 工資表 Where 實(shí)發(fā)工資>2000"

  Set command.ActiveConnection = conn

  command.CommandText = sql

  command.Execute

  Else

  MsgBox "你必須輸入一個(gè)名字"

  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

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

VB中用ADO對(duì)象動(dòng)態(tài)創(chuàng)建數(shù)據(jù)庫(kù)和表


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 老司机免费福利影院 | 美女毛片 | 激情综合婷婷亚洲图片 | 国产福利在线观看永久视频 | 国产精品久久久久久久久免费观看 | se94se欧美 | 日韩在线一区二区三区视频 | 欧美精品久久久久久久影视 | 亚洲一区 中文字幕 | 老司机永久免费视频 | 免费一级毛片在线播放 | 久久国产三级 | 久久亚洲国产中v天仙www | 欧美精品香蕉在线观看网 | 国产欧美亚洲另类第一页 | 亚洲在线播放视频 | 人人骚| 国产精品亚洲第一区二区三区 | 国产一区二区在线免费观看 | 69福利网 | 青青国产成人久久91 | 午夜欧美性欧美 | 成人a免费视频播放 | 欧美特级爽毛片 | 99热这里只精品99re66 | 最新国产中文字幕 | 午夜视频福利在线 | 免费的性生活视频 | 亚洲人成在线免费观看 | 色干综合 | a毛片在线| 欧美成人一区二区三区在线电影 | 一本伊大人香蕉久久网手机 | 国产午夜亚洲精品国产 | 看全色黄大色黄大片爽一下 | 91久久国产视频 | 精品久久洲久久久久护士免费 | 国产精品入口麻豆午夜 | 国产成人综合网在线观看 | 多多多色麻豆 | 国内精品中文字幕 |