《Visual-Basic程序設(shè)計(jì)項(xiàng)目化教程》項(xiàng)目14-ADO數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)的應(yīng)用課件_第1頁(yè)
《Visual-Basic程序設(shè)計(jì)項(xiàng)目化教程》項(xiàng)目14-ADO數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)的應(yīng)用課件_第2頁(yè)
《Visual-Basic程序設(shè)計(jì)項(xiàng)目化教程》項(xiàng)目14-ADO數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)的應(yīng)用課件_第3頁(yè)
《Visual-Basic程序設(shè)計(jì)項(xiàng)目化教程》項(xiàng)目14-ADO數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)的應(yīng)用課件_第4頁(yè)
《Visual-Basic程序設(shè)計(jì)項(xiàng)目化教程》項(xiàng)目14-ADO數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)的應(yīng)用課件_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Visual Basic 程序設(shè)計(jì)項(xiàng)目化教程主編 管小清 郭賀彬項(xiàng)目十四:ADO數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)的應(yīng)用項(xiàng)目功能描述:本項(xiàng)目主要是了解ADO的主要功能與特性,ADO對(duì)象模型簡(jiǎn)介及ADO的編程模型。掌握ADODC控件的主要屬性、常用方法及常用事件。掌握數(shù)據(jù)綁定控件的主要屬性、常用方法及常用事件。掌握在Visual Basic中使用ADO對(duì)象,進(jìn)行非編程式訪問(wèn)數(shù)據(jù)庫(kù)和編程式訪問(wèn)數(shù)據(jù)庫(kù)項(xiàng)目十四:ADO數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)的應(yīng)用項(xiàng)目主要知識(shí)點(diǎn):1關(guān)于ADO2ADODC控件3數(shù)據(jù)綁定控件4在Visual Basic中使用ADO對(duì)象項(xiàng)目實(shí)施步驟:閱讀基礎(chǔ)知識(shí)實(shí)例操作完成思考與練習(xí)題14.1 基礎(chǔ)知識(shí)概述14.1.1

2、關(guān)于ADO1.ADO主要功能與特性ADO(ActiveX Data Object, Active 數(shù)據(jù)對(duì)象)是基于OLE DB技術(shù)而設(shè)計(jì)的。是Microsoft提供的一種面向?qū)ο螅c語(yǔ)言無(wú)關(guān)的基于應(yīng)用程序?qū)拥臄?shù)據(jù)訪問(wèn)接口。它是DAO/RDO的后繼產(chǎn)物。它主要特性:易于使用、可以訪問(wèn)多種數(shù)據(jù)源、訪問(wèn)速度快且效率高、易于Web應(yīng)用、技術(shù)編程接口豐富、低內(nèi)存支出和占用磁盤(pán)空間較少。ADO訪問(wèn)數(shù)據(jù)是通過(guò)OLE DB來(lái)實(shí)現(xiàn)的,OLE DB不僅能夠以SQL Server、Oracle、Access等數(shù)據(jù)庫(kù)文件為訪問(wèn)對(duì)象,還可對(duì)Excel表格、文本文件、圖形文件、電子郵件等各種各樣的數(shù)據(jù)通過(guò)統(tǒng)一的接口進(jìn)行存

3、取。ADO與OLE DB的關(guān)系如圖14-1所示:14.1 基礎(chǔ)知識(shí)概述圖 14-1 ADO與OLE DB的關(guān)系圖 14-1 ADO與OLE DB的關(guān)系14.1 基礎(chǔ)知識(shí)概述2ADO對(duì)象模型ADO集中了DAO和RDO的優(yōu)點(diǎn),且不像DAO和RDO那樣依賴于對(duì)象層次。ADO對(duì)象模型定義了一個(gè)可編程的分層對(duì)象集合,ADO模型主要由七個(gè)對(duì)象成員Connection(連接)、Command(命令)、RecordSet(記錄集)、Error(錯(cuò)誤)、Parameter(參數(shù))、Field(字段)和Property(屬性)以及四個(gè)集合對(duì)象Errors、Parameters、Fields、Properties所

4、組成。每個(gè) Connection、Command、Recordset和Field對(duì)象都有Properties集合。它們之間的關(guān)系如圖14-2所示: 網(wǎng)圖 14-2 ADO對(duì)象模型關(guān)系圖 14-2 ADO對(duì)象模型關(guān)系14.1 基礎(chǔ)知識(shí)概述(1) Connection 對(duì)象用于管理與數(shù)據(jù)庫(kù)的連接, 通過(guò)連接可從應(yīng)用程序訪問(wèn)數(shù)據(jù)源,包括打開(kāi)和關(guān)閉連接以及運(yùn)行SQL命令等,它保存諸如指針類型、連接字符串、查詢超時(shí)、連接超時(shí)和缺省數(shù)據(jù)庫(kù)這樣的連接信息。它包含了關(guān)于目標(biāo)數(shù)據(jù)庫(kù)數(shù)據(jù)提供程序的相關(guān)信息。(2)Command 對(duì)象包含關(guān)于某個(gè)命令,例如查詢字符串、參數(shù)定義等的信息。(3)Recordset對(duì)象用

5、來(lái)存儲(chǔ)數(shù)據(jù)操作返回的記錄集。Recordset對(duì)象只代表一個(gè)記錄集,這個(gè)記錄集可以是一個(gè)數(shù)據(jù)庫(kù)中的表,或者是Command對(duì)象的執(zhí)行結(jié)果返回的記錄集。在ADO對(duì)象模型中,是在行中檢查和修改數(shù)據(jù)的最主要的方法,所有對(duì)數(shù)據(jù)的操作幾乎都是在Recordset對(duì)象中完成的。Recordset對(duì)象用于指定行、移動(dòng)行、添加、更改、刪除記錄。14.1 基礎(chǔ)知識(shí)概述(4)Field 對(duì)象Field 對(duì)象對(duì)應(yīng)于數(shù)據(jù)庫(kù)表的字段或SQL查詢語(yǔ)句Select關(guān)鍵字之后跟隨著的域,寬限包含記錄集中數(shù)據(jù)的某單個(gè)列的信息。(5) Error對(duì)象包含數(shù)據(jù)提供程序出錯(cuò)時(shí)的擴(kuò)展信息。(6) Parameter 對(duì)象Paramet

6、er 對(duì)象用于管理基于參數(shù)化查詢或存儲(chǔ)過(guò)程的Command對(duì)象相關(guān)聯(lián)的某個(gè)參數(shù)或自變量的信息,這類Command對(duì)象有一個(gè)包含其所有Parameter 對(duì)象的 Parameters 集合。(7) Property對(duì)象包含某個(gè) ADO 對(duì)象的提供程序定義的特征。掌握其中的Command、Connection、Recordset對(duì)象就可以實(shí)現(xiàn)基本的數(shù)據(jù)庫(kù)操作。14.1.2 ADO的編程模型ADO編程模型描述了使用ADO對(duì)象進(jìn)行編程所必須的幾個(gè)重要步驟:1.連接數(shù)據(jù)源利用Connection對(duì)象的Open方法可以創(chuàng)建一個(gè)數(shù)據(jù)源的連接。 語(yǔ)法:Connection對(duì)象.Open ConnectionS

7、tring, UserID, PassWord, OpenOptions其中:Connection對(duì)象為定義的Connection對(duì)象的實(shí)例;ConnectionString為可選項(xiàng),包含了連接的數(shù)據(jù)庫(kù)的信息; UserID 可選項(xiàng),包含建立連接的用戶名; PassWord為可選項(xiàng),包含建立連接的用戶密碼;14.1.2 ADO的編程模型2.打開(kāi)記錄集對(duì)象(1)方法一:語(yǔ)法:Recordset.Open Source, ActiveConnection, CursorType, LockType, Options 其中:Recordset為所定義的記錄集對(duì)象的實(shí)例。 Source可選項(xiàng),指明了所

8、打開(kāi)的記錄源信息。 ActiveConnection可選項(xiàng),合法的已打開(kāi)的Connection對(duì)象的變量名或者是包含ConnectionString參數(shù)的字符串。 CursorType可選項(xiàng),確定打開(kāi)記錄集對(duì)象使用的指針類型。 LockType可選項(xiàng), 確定打開(kāi)記錄集對(duì)象使用的鎖定類型。14.1.2 ADO的編程模型(2)方法二:語(yǔ)法:Set Recordset=Connection.Execute_ (CommandText,RecordsAffected,Options) 其中: CommandText 一個(gè)字符串,返回要執(zhí)行的SQL命令、表名、存儲(chǔ)過(guò)程或指定文本。 RecordsAffe

9、cted 可選項(xiàng),Long類型值,返回操作影響的記錄數(shù)。Options 可選項(xiàng),Long類型值,指明如何處理CommandText參數(shù)。 打開(kāi)Recordset對(duì)象之后,我們就可以使用它的addnew、delete、update、movenext、find等方法了。 14.1.2 ADO的編程模型3.添加記錄添加新記錄的AddNew方法語(yǔ)法:Recordset.AddNew Fields, Values 其中:Recordset為記錄集對(duì)象實(shí)例 Fields為一個(gè)字段名,或者是一個(gè)字段數(shù)組。 Values為給要加信息的字段賦的值,如果Fileds為一個(gè)字段名,那么Values應(yīng)為一個(gè)單個(gè)的數(shù)值

10、。假如Fileds為一個(gè)字段數(shù)組,那么Values必須也為一個(gè)個(gè)數(shù),類型與Fields相同的數(shù)組。 使用AddNew方法為記錄集添加新的記錄后,應(yīng)使用UpDate將所添加的的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中。14.1.2 ADO的編程模型4.修改記錄集 用SQL語(yǔ)句將要修改的字段的一個(gè)數(shù)據(jù)找出來(lái)重新賦值。5.刪除記錄的Delete方法 語(yǔ)法:Recordset.Delete AffectRecords其中:AffectRecords參數(shù)是確定Delete方法作用的方式的。它的取值如下: adAffectCurrent 只刪除當(dāng)前的記錄。 adAffectGroup 刪除符合Filter屬性設(shè)置的那些記錄。為

11、了一次能刪除一組數(shù)據(jù),應(yīng)設(shè)置Filter屬性。6.查詢記錄(1)方法一:使用連接對(duì)象的Execute方法執(zhí)行SQL命令,返回查詢記錄集。(2)方法二: 使用Command對(duì)象的Execute方法執(zhí)行CommandText屬性中設(shè)置的SQL命令,返回查詢記錄集。14.1.2 ADO的編程模型7.斷開(kāi)連接 在應(yīng)用程序結(jié)束之前,應(yīng)該釋放分配給ADO對(duì)象的資源,操作系統(tǒng)回收這些資源并可以再分配給其他應(yīng)用程序. 使用的方法為:Close方法。語(yǔ)法: ADO對(duì)象.Close 14.2 ADODC控件 14.2.1 ADODC控件在VB中,使用ADO訪問(wèn)數(shù)據(jù)庫(kù)主要有兩種方式,一種是使用ADO數(shù)據(jù)控件,通過(guò)對(duì)

12、控件的綁定來(lái)訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù),即非編程訪問(wèn)方式;另一種是使用ADO對(duì)象模型,通過(guò)定義對(duì)象和編寫(xiě)代碼來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的訪問(wèn),即編程訪問(wèn)方式,以下我們先介紹使用ADODC控件對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)。 1ADODC控件幾個(gè)重要的與數(shù)據(jù)庫(kù)有關(guān)的屬性,如表14-1所示: 14.2 ADODC控件 表 14-1 ADO控件屬性CommandType指示命令類型。取值為:1 adCmdText SQL 語(yǔ)句2 adCmdTable 表4 adCmdStoredProc存儲(chǔ)過(guò)程8 adCmdUnknown 其他類型ConnectionString支持連接字符串的OLEDB提供程序(打開(kāi)屬性頁(yè)-通用)。Connecti

13、onTimeou在中止前等待打開(kāi)連接的時(shí)間量(單位秒)。CursorLocation決定時(shí)使用服務(wù)器端游標(biāo)還是客戶端游標(biāo)(使用哪個(gè)游標(biāo)引擎) 。取值為:2 adUseServer3 adUseClientCursorType設(shè)置用于下一級(jí)Recordset的游標(biāo)類型。取值為:1 adOpenKeyset2 adOpenDynamic3 adOpenStaticPassword密碼-支持密碼的OLEDB提供程序。(打開(kāi)屬性頁(yè)-身份驗(yàn)證)RecordSourceRecordset源(adCommandText=SQL或者其它命令語(yǔ)法,adCommandTable=表名稱。) (打開(kāi)屬性頁(yè)-記錄源)

14、UserName用戶名稱-支持用戶名稱的OLEDB提供程序 14.2 ADODC控件 2ADODC控件常用的方法(1)Refresh方法。該方法用于刷新與ADODC控件連接的記錄集數(shù)據(jù)。(2)UpDateRecord方法通過(guò)此方法可以將數(shù)據(jù)綁定控件上的當(dāng)前內(nèi)容寫(xiě)入到數(shù)據(jù)庫(kù)。(3)Close方法Close方法主要用于關(guān)閉打開(kāi)的對(duì)象及相關(guān)對(duì)象。3ADODC控件的事件ADODC控件的事件分為兩種類型即:Will事件和Complete事件。其中Will事件是在操作開(kāi)始之前調(diào)用,這時(shí)可能檢查或修改操作參數(shù),并且可以決定是取消操作還是允許完成操作。而Complete事件是在操作完成之后調(diào)用。 14.2 A

15、DODC控件 (1)WillMove事件WillMove事件在執(zhí)行更改Recordset中的當(dāng)前記錄操作之前調(diào)用。而MoveComplete事件則是在執(zhí)行更改Recordset中的當(dāng)前記錄操作之后被調(diào)用。執(zhí)行Recordset.Open、Recordset.MoveNext、Recordset.Move、Recordset.MoveLast、Recordset.MoveFirst、Recordset.MovePrevious、Recordset.Bookmark、Recordset.AddNew、Recordset.Delete、Recordset.Requery等方法時(shí)觸發(fā)。 14.2 AD

16、ODC控件 (2)WillChangField事件和FieldChangComplete事件 WillChangeField 在Recordset對(duì)象中Field屬性值更改之前調(diào)用。而FieldChangeComplete 在Recordset對(duì)象中Field屬性值更改之后調(diào)用。 執(zhí)行Recordset.Update、Recordset.Delete、Recordset.CancelUpdate、Recordset.UpdateBatch、Recordset.CancelBatch 等方法時(shí)觸發(fā)。 (3)WillChangRecordSet事件 WillChangRecordSet發(fā)生在對(duì)Re

17、cordset對(duì)象進(jìn)行操作之前,而RecordSetChangComplete發(fā)生對(duì)Recordset對(duì)象進(jìn)行操作之后。 14.2.2 數(shù)據(jù)綁定控件1數(shù)據(jù)綁定簡(jiǎn)述ADODC控件只能連接數(shù)據(jù)庫(kù),產(chǎn)生記錄集。但不能顯示記錄集中的數(shù)據(jù),要顯示記錄集中的數(shù)據(jù)必須通過(guò)能與它綁定的控件來(lái)實(shí)現(xiàn)。 數(shù)據(jù)庫(kù)記錄集數(shù)據(jù)綁定圖 14-3 數(shù)據(jù)綁定與數(shù)據(jù)庫(kù)和記錄集關(guān)系圖 14-3 數(shù)據(jù)綁定與數(shù)據(jù)庫(kù)和記錄集關(guān)系14.2.2 數(shù)據(jù)綁定控件數(shù)據(jù)綁定控件具有DataSource、DataField屬性的控件均可作為綁定控件(2)常用綁定控件ComBox,Label,TextBox等控件是較為常用的數(shù)據(jù)綁定控件。14.2.2

18、數(shù)據(jù)綁定控件(3)專門(mén)與ADO控件綁定的ActiveX控件DataList 數(shù)據(jù)列表控件我們?cè)谙乱还?jié)將專門(mén)介紹ADO控件與DataList控件結(jié)合顯示數(shù)據(jù)。DataGrid 數(shù)據(jù)網(wǎng)格控件我們?cè)谙乱还?jié)將專門(mén)介紹ADO控件與DataGrid控件結(jié)合顯示數(shù)據(jù)。DataCombo 數(shù)據(jù)組合控件(4)高級(jí)數(shù)據(jù)綁定控件Mi crosoft Hierarchical FlexGfid 分層式網(wǎng)格控件Microsoft Chart 圖表控件以上控件中數(shù)據(jù)網(wǎng)格控件和圖表控件可以綁定到整個(gè)記錄集,而其他控件只能綁定到記錄集的某一個(gè)字段。14.2.2 數(shù)據(jù)綁定控件2數(shù)據(jù)綁定方法(1)添加控件首先添加ADODC控件及

19、綁定控件添加到窗體上。(2)設(shè)置ADODC控件屬性設(shè)置ADODC控件的ConnectionString,RecordSource,Password,UserName屬性,連接數(shù)據(jù)庫(kù)。(3)設(shè)置綁定控件的DataSource屬性將綁定控件的DataSource屬性設(shè)為ADODC控件的名稱。(4)設(shè)置綁定控件的DateField屬性將綁定控件的DateField屬性設(shè)為要顯示的字段名稱。完成上述步驟后,即可通過(guò)綁定控件將數(shù)據(jù)顯示。14.3在Visual Basic中使用ADO對(duì)象14.3.1非編程訪問(wèn)方式我們以SQL Server 2000數(shù)據(jù)庫(kù)為例。使用ADODC控件,快速創(chuàng)建數(shù)據(jù)綁定控件和數(shù)據(jù)

20、提供者之間的連接。其中數(shù)據(jù)綁定控件可以是任何具有DataSource屬性的控件;數(shù)據(jù)提供者可以是任何符合OLE DB規(guī)范的數(shù)據(jù)源。14.3.1非編程訪問(wèn)方式ADODC控件和DataList控件應(yīng)用實(shí)例(1)建立login數(shù)據(jù)庫(kù)首先啟動(dòng)SQL Server 2000企業(yè)管理器,建立一個(gè)login的數(shù)據(jù)庫(kù),在 login數(shù)據(jù)庫(kù)中建立“用戶信息”數(shù)據(jù)表,如圖14-4所示:圖 14-4 SQL Server 2000企業(yè)管理器建立數(shù)據(jù)庫(kù)和數(shù)據(jù)表14.3.1非編程訪問(wèn)方式(2)添加ADODC控件ADODC 控件是ActiveX控件,在使用前必須先將其添加到工具箱中。方法是:?jiǎn)螕簟肮こ獭薄安考辈藛芜x項(xiàng),

21、選中“Microsoft ADO Data Control 6.0(OLE DB)”后,按“確定”,此時(shí)ADO數(shù)據(jù)控件便出現(xiàn)在工具箱中,如圖14-5所示:圖 14-5 添加ADODC控件14.3.1非編程訪問(wèn)方式(3)設(shè)置ADODC連接屬性將ADODC控件添加到窗體上,其默認(rèn)的名稱屬性為“Adodc1”。右擊ADODC 控件,選“ADODC屬性”,彈出“屬性頁(yè)”對(duì)話框,如圖14-6所示:圖 14-6 設(shè)置ADODC控件ConnectionString屬性點(diǎn)擊 彈出屬性頁(yè)面,選擇“通用”,選中“使用連接字符串”(也可以選擇“ODBC數(shù)據(jù)源名稱”),再單擊“生成”按鈕,彈出“數(shù)據(jù)鏈接屬性”對(duì)話框。

22、選擇“提供程序”選項(xiàng)卡,在列表中選擇“Microsoft OLE DB Provider For SQL SERVER”選項(xiàng),如圖14-7所示,再單擊“下一步”按鈕。 圖 14-7 選擇OLE DB提供程序14.3.1非編程訪問(wèn)方式14.3.1非編程訪問(wèn)方式指定服務(wù)器的名稱和登錄信息并選擇本連接要使用的數(shù)據(jù)庫(kù)文件。單擊“測(cè)試連接”按鈕以確定連接是否正常。若得到測(cè)試成功的消息,單擊“確定”按鈕以繼續(xù),如圖14-8所示。服務(wù)器名稱:機(jī)器名實(shí)例名圖 14-8 設(shè)置數(shù)據(jù)連接屬性14.3.1非編程訪問(wèn)方式(4)設(shè)置AD0DC數(shù)據(jù)源屬性在“屬性頁(yè)”對(duì)話框中選擇“記錄源”選項(xiàng)卡,在命令類型下拉列表中選擇“2

23、-adCmdTable”選項(xiàng),在表或存儲(chǔ)過(guò)程名稱下拉列表中選擇數(shù)據(jù)表“用戶信息”。(若選擇的命令類型為“1-adCmdText”,則可在命令文本框中輸入SQL查詢語(yǔ)句,SELECT * from 用戶信息),然后單擊“確定”按鈕,如圖14-9所示:圖 14-9 設(shè)置記錄源14.3.1非編程訪問(wèn)方式(5)在窗體上添加數(shù)據(jù)綁定控件我們使用DataList數(shù)據(jù)綁定控件。DataList 控件是ActiveX控件,在使用前必須先將其添加到工具箱中。方法是:?jiǎn)螕簟肮こ獭薄安考辈藛芜x項(xiàng),選中“Microsoft DataList Control 6.0(SP3)”后,按“確定”,此時(shí)DataList控件

24、便出現(xiàn)在工具箱中。圖 14-9 將添加DataLIst控件添加到工具箱14.3.1非編程訪問(wèn)方式(6)設(shè)置DataList屬性 將DataList與ADODC1進(jìn)行綁定,如圖14-10所示:圖 14-10 設(shè)置DataList屬性14.3.1非編程訪問(wèn)方式(7)運(yùn)行程序?qū)?shù)據(jù)表信息通過(guò)綁定控件DataList顯示,如圖14-11所示:圖 14-11 在DataList控件中顯示用戶名14.3.1非編程訪問(wèn)方式2ADODC控件和DataGrid控件應(yīng)用實(shí)例(1)建立login數(shù)據(jù)庫(kù)首先啟動(dòng)SQL Server 2000企業(yè)管理器,建立一個(gè)login的數(shù)據(jù)庫(kù),在login數(shù)據(jù)庫(kù)中建立“用戶信息”數(shù)

25、據(jù)表。(2)添加ADODC控件并設(shè)置屬性方法同ADODC控件和DataList控件應(yīng)用實(shí)例,不再詳細(xì)介紹。(3)添加DataGrid控件在窗體上添加ADO專用綁定控件DataGrid控件。DataGrid控件是ActiveX控件,在使用前必須先將其添加到工具箱中。方法是:?jiǎn)螕簟肮こ獭薄安考辈藛芜x項(xiàng),選中“Microsoft DataGrid Control 6.0(SP6)”后,按“確定”,此時(shí)DataList控件便出現(xiàn)在工具箱中,如圖14-12所示:圖 14-12 添加DataGrid控件14.3.1非編程訪問(wèn)方式設(shè)置DataGrid屬性DataGrid控件DataSource屬性如圖14

26、-13所示: 圖 14-13 設(shè)置DataGrid的DataSource屬性14.3.1非編程訪問(wèn)方式進(jìn)行數(shù)據(jù)綁定數(shù)據(jù):右鍵單擊DataGrid控件,選擇“檢索字段”,進(jìn)行數(shù)據(jù)綁定,也可以選擇“屬性DataField”進(jìn)行綁定。(4)運(yùn)行程序運(yùn)行程序后,將數(shù)據(jù)表的信息通過(guò)數(shù)據(jù)綁定控件DataGrid顯示出來(lái),如圖14-14所示:圖 14-14 在DataGrid控件中顯示數(shù)據(jù)表“用戶信息”14.3.1非編程訪問(wèn)方式通過(guò)ADODC控件與DataList控件及ADODC控件與DataGrid控件結(jié)合,可實(shí)現(xiàn)SQL Server數(shù)據(jù)庫(kù)login中“用戶信息”表中數(shù)據(jù)的瀏覽功能。ADODC控件還可以和

27、TextBox控件、DataCombo控件結(jié)合,顯示數(shù)據(jù)表數(shù)據(jù)。14.3.1編程訪問(wèn)方式編程訪問(wèn)方式是使用ADO 對(duì)象模型訪問(wèn)數(shù)據(jù)庫(kù)。為了能夠在程序中使用ADO對(duì)象編程,在連接數(shù)據(jù)庫(kù)前,需要在Visual Basic 6.0菜單 “工程”“引用”中選擇Microsoft ActiveX Data Objects 2.8 Library組件。運(yùn)用ADO對(duì)象模型的主要元素:Connection(連接)中的ConnectionString屬性進(jìn)行連接,ConnectionString為可讀寫(xiě)string類型,指定一個(gè)連接字符串,告訴ADO如何連接數(shù)據(jù)庫(kù)。14.3.1編程訪問(wèn)方式1定義ADO對(duì)象用于設(shè)

28、置打開(kāi)連接和產(chǎn)生記錄集(1)聲明語(yǔ)句如下: Dim conn As New ADODB.Connection 定義連接對(duì)象 Dim rs As New ADODB.Recordset 定義記錄集對(duì)象(2)創(chuàng)建對(duì)象實(shí)例定義ADO對(duì)象實(shí)例,聲明了對(duì)象以后,還需要?jiǎng)?chuàng)建對(duì)象實(shí)例,否則不能使用。以下是兩條重要語(yǔ)句:Set conn =New ADODB.Connection 創(chuàng)建conn對(duì)象Set rs =New ADODB.Recordset 創(chuàng)建rs對(duì)象14.3.1編程訪問(wèn)方式2數(shù)據(jù)庫(kù)連接設(shè)置Connection對(duì)象實(shí)例ConnectionString屬性連接到數(shù)據(jù)庫(kù)。有兩種方法:有源數(shù)據(jù)庫(kù)連接和無(wú)

29、源數(shù)據(jù)庫(kù)連接(1)有源數(shù)據(jù)庫(kù)連接有源數(shù)據(jù)庫(kù)連接首要任務(wù)是要注冊(cè)數(shù)據(jù)源名稱(DSN),通過(guò)配置ODBC環(huán)境,進(jìn)行數(shù)據(jù)源的注冊(cè),然后才能對(duì)數(shù)據(jù)源進(jìn)行連接、訪問(wèn)和操作。以連接數(shù)據(jù)源login為實(shí)例進(jìn)行操作:14.3.1編程訪問(wèn)方式啟動(dòng)ODBC在Windows XP點(diǎn)擊“開(kāi)始”“控件面板”“性能和維護(hù)”管理工具,出現(xiàn)如下界面: 圖 14-15 ODBC界面14.3.1編程訪問(wèn)方式添加“用戶DSN”雙擊“數(shù)據(jù)源(ODBC)”,出現(xiàn)如下界面,選擇“用戶DSN”,點(diǎn)擊“添加”,如圖14-16所示: 圖 14-16 添加用DSN14.3.1編程訪問(wèn)方式選擇數(shù)據(jù)源的驅(qū)動(dòng)程序數(shù)據(jù)源驅(qū)動(dòng)程序選擇“SQL Serve

30、r”,如圖14-17所示:圖 14-17 選擇數(shù)據(jù)源的驅(qū)動(dòng)程序14.3.1編程訪問(wèn)方式數(shù)據(jù)源命名給數(shù)據(jù)源命名為L(zhǎng)ogin,如圖14-18所示:服務(wù)器名稱:機(jī)器名實(shí)例名圖 14-18 給數(shù)據(jù)源命名14.3.1編程訪問(wèn)方式注:服務(wù)器名根據(jù)實(shí)際情況填寫(xiě):機(jī)器名實(shí)例名測(cè)試數(shù)據(jù)源:圖 14-19 數(shù)據(jù)源測(cè)試14.3.1編程訪問(wèn)方式(2)無(wú)源數(shù)據(jù)庫(kù)連接與有源數(shù)據(jù)庫(kù)連接的區(qū)別在于不需要配置ODBC,不使用DSN。提供連接所需要的特定信息包括服務(wù)器名稱:“機(jī)器名實(shí)例名”用戶名:“sa”口令可為空與數(shù)據(jù)庫(kù)“l(fā)ogin”建立的連接代碼如下: conn.ConnectionString=driver=sql ser

31、ver;_server=機(jī)器名實(shí)例名;Uer Id=sa;pwd=;Database=login打開(kāi)連接對(duì)象設(shè)置好連接屬性后,就可以打開(kāi)連接對(duì)象了。代碼如下: conn.Open這樣,VB和后臺(tái)SQL Server數(shù)據(jù)庫(kù)的連接就創(chuàng)建好了。14.3.3實(shí)例操作1有源數(shù)據(jù)庫(kù)連接(1)創(chuàng)建“標(biāo)準(zhǔn)EXE”工程,工程命名為login(2)引用 “Microsoft ActiveX Data Object 2.0 Library”(3)創(chuàng)建模塊文件選擇“工程”“添加模塊”,在模塊中輸入代碼:Public conn As New ADODB.Connection 標(biāo)記新連接對(duì)象Public rs As AD

32、ODB.Recordset 標(biāo)記新記錄集對(duì)象14.3.3實(shí)例操作(4)創(chuàng)建登錄窗體界面選擇“工程”“添加窗體”,在VB窗體中添加兩個(gè)標(biāo)簽控件、兩個(gè)文件框控件和一個(gè)命令按鈕控件,窗體界面如圖14-20: 圖 14-20 登錄窗體界面14.3.3實(shí)例操作有源數(shù)據(jù)庫(kù)連接主要代碼Dim conn As New ADODB.Connection 定義連接對(duì)象Dim rs As ADODB.Recordset 定義記錄集對(duì)象窗體加載代碼:Private Sub Form_Load()Set conn = New ADODB.Connection 設(shè)置conn實(shí)例對(duì)象Set rs = New ADODB.R

33、ecordset 設(shè)置rs實(shí)例對(duì)象conn.ConnectionString = DSN=login;User_ ID=sa;Password=;database=login; conn.ConnectionTimeout = 30conn.OpenEnd Sub14.3.3實(shí)例操作其中有源數(shù)據(jù)庫(kù)連接:DSN數(shù)據(jù)源是“Login”用戶名是“sa”口令為空與數(shù)據(jù)庫(kù)“l(fā)ogin”建立的連接代碼:conn.ConnectionString=DSN=Login;User ID=sa;PWD=;database=login;命令按鈕代碼:Private Sub Command1_Click()rs.Open select * from 用戶信息 where 用戶名= & Text1.Text & _and 密碼= & Text2.Text & , conn, adOpenstate, adLockOptimistic,_ adCmdText14.3.3實(shí)例操作If rs.EOF = True ThenMsgBox 請(qǐng)重新輸入學(xué)號(hào)或密碼!Text1.Text = Text2.Text = Text1.SetFocusElseMsgBox 登錄成功End Ifrs.CloseUn

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論