999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Visual Basic中ADO編程技術(shù)探析

2012-12-31 00:00:00張立社
考試周刊 2012年49期


  摘 要: Visual Basic提供了DAO、RDO、ADO三類數(shù)據(jù)庫編程接口,本文對應(yīng)用ADO技術(shù)進(jìn)行數(shù)據(jù)庫編程時(shí)的一般步驟及數(shù)據(jù)源連接和數(shù)據(jù)記錄的添加、刪除、修改、查詢的方法做了探析。
  關(guān)鍵詞: Visual Baisc ADO 數(shù)據(jù)庫編程
  1.引言
  前端開發(fā)工具+后臺(tái)數(shù)據(jù)庫是許多應(yīng)用程序采用的開發(fā)模式。前端開發(fā)工具的優(yōu)勢在于其良好的應(yīng)用程序界面設(shè)計(jì)能力,而后臺(tái)數(shù)據(jù)庫具有強(qiáng)大的數(shù)據(jù)管理功能,提供后臺(tái)的數(shù)據(jù)支持。Visual Basic(VB)即是近年來被普遍采用的前端開發(fā)工具之一,VB提供了豐富的數(shù)據(jù)庫訪問接口,加上其可視化、面向?qū)ο蟆⒉捎檬录?qū)動(dòng)方式的特點(diǎn),使其受到廣大程序開發(fā)人員的喜愛,并被大中專院校選為計(jì)算機(jī)及相關(guān)專業(yè)的必修課。
  2.Visual Basic數(shù)據(jù)庫訪問技術(shù)概述
  在VB數(shù)據(jù)庫編程中如何將后臺(tái)數(shù)據(jù)與應(yīng)用程序窗體中的數(shù)據(jù)綁定控件連接起來呢?VB提供了三類數(shù)據(jù)訪問接口。
  2.1 DAO(Data Access Objects)接口技術(shù)。
  DAO是Microsoft推出的第一個(gè)基于面向?qū)ο蠹夹g(shù)的數(shù)據(jù)庫訪問技術(shù),DAO采用Jet引擎和ODBC兩種方式訪問數(shù)據(jù)庫。
  2.2 RDO(Remote Data Objects)技術(shù)。
  RDO是建立在ODBC基礎(chǔ)上的面向?qū)ο蟮臄?shù)據(jù)訪問技術(shù),即一般采用ODBC方式訪問數(shù)據(jù)庫。
  2.3 ADO(ActiveX Data Object)技術(shù)。
  ADO是微軟在DAO、RDO之后提出的新一代數(shù)據(jù)庫應(yīng)用程序開發(fā)接口,是建立在OLEDB上的高層數(shù)據(jù)庫訪問技術(shù)。OLE DB是一個(gè)低層的基于COM 的數(shù)據(jù)訪問接口,它向應(yīng)用程序提供了一個(gè)統(tǒng)一的數(shù)據(jù)訪問方法,用它可以訪問各種數(shù)據(jù)源。ADO封裝了OLEDB所提供的接口,ADO對象可以使用戶通過OLE DB Provider訪問和操縱數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)。ADO可以實(shí)現(xiàn)對關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫的訪問,與DAO、RDO相比,ADO具有較少的對象、更多的屬性、方法和事件實(shí)現(xiàn)對各種數(shù)據(jù)源的訪問,因此ADO技術(shù)目前成為VB數(shù)據(jù)庫應(yīng)用的主流技術(shù),我們將重點(diǎn)介紹該技術(shù)。
  VB中ADO技術(shù)訪問數(shù)據(jù)庫具體有兩種途徑,即ADO控件(實(shí)際為ADO對象封裝而成)和ADO對象兩種方法訪問數(shù)據(jù)庫。
  ADO控件使用簡便,用戶只需編寫很少的代碼,就可實(shí)現(xiàn)數(shù)據(jù)的添加、修改、刪除等操作,比較適合于初學(xué)者或小型的數(shù)據(jù)庫應(yīng)用程序,但靈活性較差。而ADO對象功能非常強(qiáng)大,適合于熟練的用戶或較為復(fù)雜的應(yīng)用程序。
  3.ADO控件數(shù)據(jù)庫編程
  3.1 ADO控件實(shí)現(xiàn)數(shù)據(jù)庫編程的一般步驟。
  3.1.1添加ADO控件到時(shí)VB工具箱。由于ADO控件是ActiveX控件,使用時(shí)就首先添加到VB工具箱中。方法為:選擇“工程/部件”命令,在部件對話框中,選中Microsoft ADO DATA Control 6.0(OLEDB)復(fù)選框,然后確定即可。
  3.1.2在應(yīng)用程序窗體中添加ADO控件和數(shù)據(jù)綁定控件(常用的數(shù)據(jù)綁定控件有TextBox、CheckBox、DataGrid、MSHFlexGrid等)。
  3.1.3用ADO控件連接數(shù)據(jù)源。方法是:右單擊ADO控件,選“屬性”命令,打開“屬性頁”對話框進(jìn)行相應(yīng)設(shè)置連接數(shù)據(jù)源。具體連接方式有三。
  >使用Data Link文件連接:該方式表示采用一個(gè)ODBC文件數(shù)據(jù)源連接文件完成,要求事先在控制面板中應(yīng)創(chuàng)建好文件數(shù)據(jù)源(文件DSN)。
  >使用ODBC數(shù)據(jù)資源名稱:此方式表示連接至一個(gè)ODBC用戶數(shù)據(jù)源,要求事先在控制面板中創(chuàng)建好用戶數(shù)據(jù)源(用戶DSN),使用時(shí)直接在ADO控件“屬性頁”O(jiān)DBC數(shù)據(jù)資源名稱下拉列表中選擇該數(shù)據(jù)源即可。
  >使用連接字符串:這是最靈活也是最常用的方式,單擊“生成”按鈕,按照提示依次選擇“OLE DB提供程序”、“選擇輸入數(shù)據(jù)庫名稱”,然后單擊“記錄源”選項(xiàng)卡,設(shè)置命令類型,命令類型告訴提供者Source屬性是一條SQL語句(adCmdText)、一個(gè)表的名稱(adCmdTable)、一個(gè)存儲(chǔ)過程(adCmdStoreProc)還是一個(gè)未知類型(adCmdUnknown)。
  使用連接字符串的方法,除上述做法外也可直接在Form_Load()事件代碼中通過ADO控件的ConnectionString屬性、RecordSource屬性、Refresh屬性實(shí)現(xiàn)數(shù)據(jù)源連接。強(qiáng)烈建議較熟練用戶采用本方法,實(shí)際代碼可參照如下:
  Private Sub Form_Load()
  Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& App.Path &"\\學(xué)籍管理.mdb;Persist Security Info=False"
  Adodc1.RecordSource="select* from學(xué)生信息"
  Adodc1.Refresh
  Set DataGrid1.DataSource=Adodc1
  End Sub
  3.1.4設(shè)置數(shù)據(jù)綁定控件的DataSource、DataField等屬性,將數(shù)據(jù)表與相應(yīng)的數(shù)據(jù)顯示控件進(jìn)行綁定。例如窗體中有文本框控件Text1,如要和數(shù)據(jù)表中字段綁定,則應(yīng)設(shè)置DataSource屬性值為“Adodc1”,DataField屬性的值應(yīng)設(shè)置為相應(yīng)數(shù)據(jù)表的字段名。
  3.1.5編寫事件代碼。為控件編寫實(shí)現(xiàn)相關(guān)功能的代碼。
  3.2 ADO控件編程中增、刪、改、查的實(shí)現(xiàn)。
  3.2.1記錄的增加。當(dāng)在窗體中單擊增加按鈕時(shí)添加記錄,在窗體數(shù)據(jù)綁定控件中輸入記錄內(nèi)容后,單擊保存按鈕保存。實(shí)現(xiàn)此功能則在增加按鈕的Click事件代碼中的關(guān)鍵語句為:Adodc1.Recordset.AddNew,該語句調(diào)用AddNew方法在記錄集中添加一條新記錄,并且該記錄成為當(dāng)前記錄,然后在數(shù)據(jù)綁定控件中輸入相關(guān)數(shù)據(jù)。而在保存按鈕的Click事件代碼中的關(guān)鍵語句為:Adodc1.Recordset.Update,該語句調(diào)用Update方法用新輸入的記錄值更新當(dāng)前記錄至相應(yīng)的數(shù)據(jù)庫表中,即可完成數(shù)據(jù)的修改。
  3.2.2記錄的刪除。單擊刪除按鈕刪除當(dāng)前記錄。實(shí)現(xiàn)此功能的關(guān)鍵代碼為:Adodc 1.Recordset.Delete、Adodc 1.Refresh。
  3.2.3記錄的修改。實(shí)現(xiàn)此功能的關(guān)鍵代碼為:Adodc 1.Recordset.Edit。
  3.2.4記錄的查詢。查詢可通過設(shè)置ADO控件的RecordSource屬性來完成。關(guān)鍵代碼一般格式為:Adodc 1.RecordSource="Select * from 表名 Where 查詢條件"、Adodc 1.Refresh。
  4.ADO對象數(shù)據(jù)庫編程
  4.1ADO對象簡介。
  ADO模型中共有7個(gè)對象,分別為連接對象Connection、記錄集對象Recordset、命令對象Command、參數(shù)對象Parameter、域?qū)ο驠ield、屬性對象Property和錯(cuò)誤對象Error。其中Connection、Recordset、Command是最常用的三大對象,下面僅對這三大對象作以介紹。
  4.1.1Connection對象用于建立與數(shù)據(jù)庫的連接,通過連接可從應(yīng)用程序訪問數(shù)據(jù)源。主要包括打開連接(Open方法)、關(guān)閉連接(Close方法)及運(yùn)行SQL命令等,連接是訪問數(shù)據(jù)源的前提條件。其常用重要屬性為ConnectionString、ConnectTimeout等。
  4.1.2 Recordset對象用于管理來自基本表或SQL查詢語句執(zhí)行結(jié)果的記錄集,以及記錄中的游標(biāo)。Recordset對象所指的當(dāng)前記錄均為記錄集中的單個(gè)記錄,ADO對象編程中數(shù)據(jù)的添加、刪除、修改、查詢主要就是通過Recordset對象來實(shí)現(xiàn)的。其常用重要屬性有Source、BOF、EOF、CursorType、LockType、Filter、PageCount、RecordCount等,重要的方法有Open、Close、AddNew、Update、Delete。
  4.1.3 Command對象用于指定將要對數(shù)據(jù)源執(zhí)行的命令。在建立Connection對象后,可以發(fā)出命令操作數(shù)據(jù)源以獲取數(shù)據(jù)。Command對象通過Execute方法執(zhí)行命令。一般情況下使用Command對象可以在數(shù)據(jù)源中實(shí)現(xiàn)添加、刪除、更新、檢索數(shù)據(jù)。其常用重要屬性有ActiveConnection、CommandText、CommandTimeout、CommandType等。
  4.1.4 Parameter對象用于管理基于參數(shù)化查詢或存儲(chǔ)過程的Command對象相關(guān)聯(lián)的參數(shù)或自變量。可用于指定參數(shù)的名稱、值、類型、屬性等。
  4.1.5 Field對象對應(yīng)于Recordset對象的一列,可用于訪問字段的相關(guān)屬性,F(xiàn)ield對象從屬于Recordset對象,即只能從中訪問Field對象。
  4.1.6 Property對象代表由提供者定義的ADO對象的動(dòng)態(tài)特性。
  4.1.7 Error對象包含了訪問數(shù)據(jù)源時(shí)所返回的錯(cuò)誤的詳細(xì)信息。使用ADO訪問數(shù)據(jù)源時(shí),一旦有錯(cuò)誤發(fā)生將會(huì)生成一個(gè)或多個(gè)Error對象,利用Error的Desciption屬性、Number屬性、Source屬性可獲得錯(cuò)誤的相關(guān)信息。
  4.2 ADO對象編程的一般步驟及要點(diǎn)
  4.2.1啟動(dòng)VB6.0,建立新工程。
  4.2.2引用ADO對象。
  在VB菜單中選擇“工程”/“引用”命令,在“引用”對話框中選中“Microsoft ActiveX Data Objects2.8Library”,引用之后就可在工程中使用ADO對象了。
  4.2.3在程序中聲明ADO對象。
  VB中使用對象變量時(shí)應(yīng)先聲明,一般格式為:Dim variable As〔New〕classVariable—對象變量名。ClassVariable指對象所屬的類型,New是可選關(guān)鍵字,用于在程序運(yùn)行時(shí)創(chuàng)建新對象,如無New關(guān)鍵字,則只聲明變量而不會(huì)創(chuàng)建對象,如果要?jiǎng)?chuàng)建則需用SET語句完成。聲明ADO對象常用格式如下:
  Dim mycnn As New ADODB.Connection
  Dim myrs As New ADODB.Recordset
  Dim mycmd As New ADODB.Command
  4.2.4連接數(shù)據(jù)源
  連接數(shù)據(jù)源應(yīng)用的方法是Connection對象的Open方法。
  一般格式為:
  Connection對象.Open ConnectionString, UserID, PassWord, OpenOptions
  其中:ConnectionString為可選項(xiàng),包含了連接的數(shù)據(jù)庫的信息;UserID可選項(xiàng),包含建立連接的用戶名;PassWord為可選項(xiàng),包含建立連接的用戶密碼;OpenOptions為可選項(xiàng),假如設(shè)置為dConnectAsync,則連接將異步打開.
  例如:
  mycnn.Open"Provider=VFPOLEDB.1;Data Source="& App.Path建立到數(shù)據(jù)庫的連接
  4.2.5打開記錄集對象。
  記錄集是從數(shù)據(jù)庫取回的一個(gè)查詢結(jié)果集,所以查詢即是通過打開記錄集實(shí)現(xiàn)的。常用的打開Recordset方法有三種。
  4.2.5.1使用Recordset對象的Open方法
  一般格式:
  Recordset.Open Source,ActiveConnection,CursorType,LockType,Options
  例如:
  myrs.Open"testlib",cnn,adOpenKeyset,adLockOptimistic
  4.2.5.2使用Connection對象的Execute方法
  一般格式:
  Set recordset=Connection.Execute(CommandText,RecordsAffected,Options)
  例如:
  Strsql="select*from學(xué)生信息where班級(jí)=‘10護(hù)理4班’"
  Cn.opencnstring
  Set Rs=cn.execute(strsql)
  4.2.5.3使用用Command對象的Execute方法
  使用Command對象的Execute方法執(zhí)行CommandText屬性中設(shè)置的SQL命令,返回查詢記錄集.
  例如:
  Strsql="select *from學(xué)生信息where班級(jí)=‘10護(hù)理4班’"
  Cn.open cnstring
  cmd.activeconnection=cn
  cmd.commandtext=strsql
  Set Rs=cmd.execute
  4.2.6數(shù)據(jù)的添加、刪除、更新要點(diǎn)。
  添加數(shù)據(jù)記錄利用Recordset對象的AddNew方法實(shí)現(xiàn),例如:Rs.AddNew
  刪除數(shù)據(jù)記錄利用Recordset對象的Delete方法實(shí)現(xiàn),配合Filter屬性可實(shí)現(xiàn)批量刪除例如:Rs.Delete
  數(shù)據(jù)發(fā)生改變后應(yīng)及時(shí)使用Recordset對象的Update方法更新數(shù)據(jù)記錄,如:Rs.Update
  5.結(jié)語
  ADO數(shù)據(jù)庫編程是微軟推出的新一代數(shù)據(jù)庫編程技術(shù),是建立在OLEDB、ODBC等較為低層的數(shù)據(jù)庫技術(shù)之上的應(yīng)用層數(shù)據(jù)庫編程接口,是對OLEDB的封裝,采用面向?qū)ο蟮募夹g(shù)思想極大地提高了程序開發(fā)的效率。本文對ADO編程的特點(diǎn)及ADO編程的一般步驟和要點(diǎn)做了較為深入的探討,以期對讀者有所幫助,不妥之處,請批評(píng)指正。
  參考文獻(xiàn):
  [1]劉彬彬等.Visual Basic程序設(shè)計(jì)標(biāo)準(zhǔn)教程:DVD視頻教學(xué)版[M].北京:人民郵電出版社,2009.
  [2]高春艷等.學(xué)通Visual Basic的24堂課[M].北京:清華大學(xué)出版社,2011.
  [3]宋坤等.MFC程序開發(fā)參考大全[M].北京:人民郵電出版社,2007.
  [4]李曉喆等.SQLServer2000管理及應(yīng)用系統(tǒng)開發(fā)[M]北京:人民郵電出版社,200

主站蜘蛛池模板: 久久永久精品免费视频| 国产精品yjizz视频网一二区| 任我操在线视频| 亚洲人成网18禁| 亚洲无卡视频| 国产精品内射视频| 精品国产网站| 国产亚洲精久久久久久无码AV| 伊在人亚洲香蕉精品播放| 国产高清无码麻豆精品| 国产一级裸网站| 国产精品视频猛进猛出| 无码国产偷倩在线播放老年人| 欧美视频在线观看第一页| 91精品国产丝袜| 国产视频久久久久| 婷婷六月色| 久久国产乱子| 亚洲精品成人片在线播放| www.99精品视频在线播放| 99久久精品国产自免费| 黄色国产在线| 欧美一区二区三区不卡免费| 国产欧美精品一区aⅴ影院| 亚洲免费毛片| 成年人国产网站| 国产丝袜一区二区三区视频免下载| 国产欧美专区在线观看| 久操中文在线| 99re在线观看视频| 国产美女在线免费观看| 国产成人精品男人的天堂| 亚洲人成网址| 久久免费看片| 国产成人综合欧美精品久久| 九色在线观看视频| 国产精品三级av及在线观看| 国产91色| 99久久国产精品无码| 欧美精品啪啪一区二区三区| 无码精油按摩潮喷在线播放 | 日韩午夜伦| 亚洲国产精品成人久久综合影院| 欧美黄色a| 中国一级毛片免费观看| 国产精品手机视频| 无套av在线| 国模沟沟一区二区三区| 无码高潮喷水专区久久| 国产精品流白浆在线观看| 精品人妻无码中字系列| 91蝌蚪视频在线观看| 免费人成视频在线观看网站| 99精品视频播放| 国产成人综合在线观看| 国产丝袜精品| AV网站中文| 黄色网站不卡无码| 国产欧美视频一区二区三区| 国产成人精品亚洲日本对白优播| 在线观看国产精品日本不卡网| 欧美一区二区啪啪| 久久96热在精品国产高清| 国产小视频a在线观看| 福利视频一区| 亚洲视频色图| 国产自在线播放| 日本三级黄在线观看| 久青草免费在线视频| 国产午夜无码片在线观看网站| 久久人体视频| 国产乱人伦精品一区二区| 欧美亚洲欧美| 亚洲av无码片一区二区三区| 2021国产精品自产拍在线| 午夜电影在线观看国产1区| 最新国产麻豆aⅴ精品无| 在线国产欧美| 黄色在线网| 九九九精品成人免费视频7| 国产手机在线小视频免费观看 | 国产成人高清精品免费5388|