VisualBasic程序設(shè)計項目化教程 項目14 ADO數(shù)據(jù)庫訪問技術(shù)的應(yīng)用
《VisualBasic程序設(shè)計項目化教程 項目14 ADO數(shù)據(jù)庫訪問技術(shù)的應(yīng)用》由會員分享,可在線閱讀,更多相關(guān)《VisualBasic程序設(shè)計項目化教程 項目14 ADO數(shù)據(jù)庫訪問技術(shù)的應(yīng)用(57頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社主編主編 管小清管小清 郭賀彬郭賀彬VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社項目十四:項目十四:ADO數(shù)據(jù)庫訪問技術(shù)的應(yīng)用數(shù)據(jù)庫訪問技術(shù)的應(yīng)用n項目功能描述項目功能描述:n本項目主要是了解本項目主要是了解ADO的主要功能與特性,的主要功能與特性,ADO對象對象模型簡介及模型簡介及ADO的編程模型。掌握的編程模型。掌握ADODC控件的主控件的主要屬性、常用方法及常用事件。掌握數(shù)據(jù)綁定控件的要屬性、常用方法及常用事件。掌握數(shù)據(jù)綁定控件的主要屬性、常用方法及常用事件。掌握在主要屬性
2、、常用方法及常用事件。掌握在Visual Basic中使用中使用ADO對象,進(jìn)行非編程式訪問數(shù)據(jù)庫和對象,進(jìn)行非編程式訪問數(shù)據(jù)庫和編程式訪問數(shù)據(jù)庫編程式訪問數(shù)據(jù)庫VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社項目十四:項目十四:ADO數(shù)據(jù)庫訪問技術(shù)的應(yīng)用數(shù)據(jù)庫訪問技術(shù)的應(yīng)用n項目主要知識點(diǎn):項目主要知識點(diǎn):n1關(guān)于關(guān)于ADOn2ADODC控件控件n3數(shù)據(jù)綁定控件數(shù)據(jù)綁定控件n4在在Visual Basic中使用中使用ADO對象對象n項目實施步驟:項目實施步驟:n閱讀基礎(chǔ)知識閱讀基礎(chǔ)知識n實例操作實例操作n完成思考與練習(xí)題完成思考與練習(xí)題VBVB程序設(shè)計項目化教
3、程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.1 基礎(chǔ)知識概述基礎(chǔ)知識概述n14.1.1關(guān)于關(guān)于ADOn1.ADO主要功能與特性主要功能與特性nADO(ActiveX Data Object,Active 數(shù)據(jù)對象)是基于數(shù)據(jù)對象)是基于OLE DB技術(shù)而設(shè)計的。是技術(shù)而設(shè)計的。是Microsoft提供的一種面向?qū)ο螅c語言無關(guān)的提供的一種面向?qū)ο?,與語言無關(guān)的基于應(yīng)用程序?qū)拥臄?shù)據(jù)訪問接口。它是基于應(yīng)用程序?qū)拥臄?shù)據(jù)訪問接口。它是DAO/RDO的后繼產(chǎn)物。的后繼產(chǎn)物。它主要特性:易于使用、可以訪問多種數(shù)據(jù)源、訪問速度快且效它主要特性:易于使用、可以訪問多種數(shù)據(jù)源、訪問速度快且效率
4、高、易于率高、易于Web應(yīng)用、技術(shù)編程接口豐富、低內(nèi)存支出和占用磁應(yīng)用、技術(shù)編程接口豐富、低內(nèi)存支出和占用磁盤空間較少。盤空間較少。ADO訪問數(shù)據(jù)是通過訪問數(shù)據(jù)是通過OLE DB來實現(xiàn)的,來實現(xiàn)的,OLE DB不僅能夠以不僅能夠以SQL Server、Oracle、Access等數(shù)據(jù)庫文件為訪問等數(shù)據(jù)庫文件為訪問對象,還可對對象,還可對Excel表格、文本文件、圖形文件、電子郵件等各表格、文本文件、圖形文件、電子郵件等各種各樣的數(shù)據(jù)通過統(tǒng)一的接口進(jìn)行存取。種各樣的數(shù)據(jù)通過統(tǒng)一的接口進(jìn)行存取。ADO與與OLE DB的關(guān)系的關(guān)系如圖如圖14-1所示:所示:VBVB程序設(shè)計項目化教程程序設(shè)計項目化教
5、程中國水利水電出版社中國水利水電出版社14.1 基礎(chǔ)知識概述基礎(chǔ)知識概述圖 14-1 ADO與OLE DB的關(guān)系圖 14-1 ADO與OLE DB的關(guān)系VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.1 基礎(chǔ)知識概述基礎(chǔ)知識概述n2ADO對象模型對象模型nADO集中了集中了DAO和和RDO的優(yōu)點(diǎn),且不像的優(yōu)點(diǎn),且不像DAO和和RDO那樣依賴于對象層次。那樣依賴于對象層次。ADO對對象模型定義了一個可編程的分層對象集合,象模型定義了一個可編程的分層對象集合,ADO模型主要由七個對象成員模型主要由七個對象成員Connection(連接)、(連接)、Comman
6、d(命令)、(命令)、RecordSet(記錄集)、(記錄集)、Error(錯誤)、(錯誤)、Parameter(參數(shù))、(參數(shù))、Field(字段)和(字段)和Property(屬性)以及四個集合對象(屬性)以及四個集合對象Errors、Parameters、Fields、Properties所組成。所組成。每個每個 Connection、Command、Recordset和和Field對象都有對象都有Properties集合。集合。n它們之間的關(guān)系如圖它們之間的關(guān)系如圖14-2所示所示:網(wǎng)網(wǎng)圖 14-2 ADO對象模型關(guān)系圖 14-2 ADO對象模型關(guān)系VBVB程序設(shè)計項目化教程程序設(shè)計項
7、目化教程中國水利水電出版社中國水利水電出版社14.1 基礎(chǔ)知識概述基礎(chǔ)知識概述n(1)Connection 對象對象n用于管理與數(shù)據(jù)庫的連接用于管理與數(shù)據(jù)庫的連接,通過連接可從應(yīng)用程序訪問數(shù)據(jù)源,包括打通過連接可從應(yīng)用程序訪問數(shù)據(jù)源,包括打開和關(guān)閉連接以及運(yùn)行開和關(guān)閉連接以及運(yùn)行SQL命令等,它保存諸如指針類型、連接字符串、命令等,它保存諸如指針類型、連接字符串、查詢超時、連接超時和缺省數(shù)據(jù)庫這樣的連接信息。它包含了關(guān)于目標(biāo)查詢超時、連接超時和缺省數(shù)據(jù)庫這樣的連接信息。它包含了關(guān)于目標(biāo)數(shù)據(jù)庫數(shù)據(jù)提供程序的相關(guān)信息。數(shù)據(jù)庫數(shù)據(jù)提供程序的相關(guān)信息。n(2)Command 對象對象n包含關(guān)于某個命令
8、,例如查詢字符串、參數(shù)定義等的信息。包含關(guān)于某個命令,例如查詢字符串、參數(shù)定義等的信息。n(3)Recordset對象對象n用來存儲數(shù)據(jù)操作返回的記錄集。用來存儲數(shù)據(jù)操作返回的記錄集。Recordset對象只代表一個記錄集,對象只代表一個記錄集,這個記錄集可以是一個數(shù)據(jù)庫中的表,或者是這個記錄集可以是一個數(shù)據(jù)庫中的表,或者是Command對象的執(zhí)行結(jié)對象的執(zhí)行結(jié)果返回的記錄集。在果返回的記錄集。在ADO對象模型中,是在行中檢查和修改數(shù)據(jù)的最對象模型中,是在行中檢查和修改數(shù)據(jù)的最主要的方法,所有對數(shù)據(jù)的操作幾乎都是在主要的方法,所有對數(shù)據(jù)的操作幾乎都是在Recordset對象中完成的。對象中完成
9、的。Recordset對象用于指定行、移動行、添加、更改、刪除記錄。對象用于指定行、移動行、添加、更改、刪除記錄。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.1 基礎(chǔ)知識概述基礎(chǔ)知識概述n(4)Field 對象對象nField 對象對應(yīng)于數(shù)據(jù)庫表的字段或?qū)ο髮?yīng)于數(shù)據(jù)庫表的字段或SQL查詢語句查詢語句Select關(guān)鍵字之后跟隨關(guān)鍵字之后跟隨著的域,寬限包含記錄集中數(shù)據(jù)的某單個列的信息。著的域,寬限包含記錄集中數(shù)據(jù)的某單個列的信息。n(5)Error對象對象n包含數(shù)據(jù)提供程序出錯時的擴(kuò)展信息。包含數(shù)據(jù)提供程序出錯時的擴(kuò)展信息。n(6)Parameter
10、對象對象nParameter 對象用于管理基于參數(shù)化查詢或存儲過程的對象用于管理基于參數(shù)化查詢或存儲過程的Command對象對象相關(guān)聯(lián)的某個參數(shù)或自變量的信息,這類相關(guān)聯(lián)的某個參數(shù)或自變量的信息,這類Command對象有一個包含其對象有一個包含其所有所有Parameter 對象的對象的 Parameters 集合。集合。n(7)Property對象對象n包含某個包含某個 ADO 對象的提供程序定義的特征。對象的提供程序定義的特征。n掌握其中的掌握其中的Command、Connection、Recordset對象就可以實現(xiàn)基本對象就可以實現(xiàn)基本的數(shù)據(jù)庫操作。的數(shù)據(jù)庫操作。VBVB程序設(shè)計項目化教
11、程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.1.2 ADO的編程模型的編程模型nADO編程模型描述了使用編程模型描述了使用ADO對象進(jìn)行編程所必須的幾個重要步對象進(jìn)行編程所必須的幾個重要步驟:驟:n1.連接數(shù)據(jù)源連接數(shù)據(jù)源n利用利用Connection對象的對象的Open方法可以創(chuàng)建一個數(shù)據(jù)源的連接。方法可以創(chuàng)建一個數(shù)據(jù)源的連接。n 語法:語法:Connection對象對象.Open ConnectionString,UserID,PassWord,OpenOptionsn其中:其中:Connection對象為定義的對象為定義的Connection對象的實例;對象的實例;nC
12、onnectionString為可選項為可選項,包含了連接的數(shù)據(jù)庫的信息;包含了連接的數(shù)據(jù)庫的信息;n UserID 可選項可選項,包含建立連接的用戶名;包含建立連接的用戶名;n PassWord為可選項為可選項,包含建立連接的用戶密碼;包含建立連接的用戶密碼;VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.1.2 ADO的編程模型的編程模型n2.打開記錄集對象打開記錄集對象n(1)方法一:)方法一:n語法:語法:Recordset.Open Source,ActiveConnection,CursorType,LockType,Optionsn 其中:其
13、中:Recordset為所定義的記錄集對象的實例。為所定義的記錄集對象的實例。n Source可選項可選項,指明了所打開的記錄源信息。指明了所打開的記錄源信息。ActiveConnection可選項,合法的已打開的可選項,合法的已打開的Connection對象的對象的變量名或者是包含變量名或者是包含ConnectionString參數(shù)的字符串。參數(shù)的字符串。n CursorType可選項,確定打開記錄集對象使用的指針可選項,確定打開記錄集對象使用的指針類型。類型。n LockType可選項,可選項,確定打開記錄集對象使用的鎖定類確定打開記錄集對象使用的鎖定類型。型。VBVB程序設(shè)計項目化教程程
14、序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.1.2 ADO的編程模型的編程模型n(2)方法二:)方法二:n語法:語法:Set Recordset=Connection.Execute_n (CommandText,RecordsAffected,Options)n 其中其中:CommandText 一個字符串,返回要執(zhí)行的一個字符串,返回要執(zhí)行的SQL命令、命令、表名、存儲過程或指定文本。表名、存儲過程或指定文本。n RecordsAffected 可選項,可選項,Long類型值類型值,返回操作影響的返回操作影響的記錄數(shù)。記錄數(shù)。nOptions 可選項,可選項,Long類型值,
15、指明如何處理類型值,指明如何處理CommandText參參數(shù)。數(shù)。n 打開打開Recordset對象之后,我們就可以使用它的對象之后,我們就可以使用它的addnew、delete、update、movenext、find等方法了。等方法了。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.1.2 ADO的編程模型的編程模型n3.添加記錄添加記錄n添加新記錄的添加新記錄的AddNew方法方法n語法語法:Recordset.AddNew Fields,Valuesn 其中其中:Recordset為記錄集對象實例為記錄集對象實例n Fields為一個字段名,或者是
16、一個字段數(shù)組。為一個字段名,或者是一個字段數(shù)組。n Values為給要加信息的字段賦的值,如果為給要加信息的字段賦的值,如果Fileds為一個字段名,為一個字段名,那么那么Values應(yīng)為一個單個的數(shù)值。假如應(yīng)為一個單個的數(shù)值。假如Fileds為一個字段數(shù)組,為一個字段數(shù)組,那么那么Values必須也為一個個數(shù),類型與必須也為一個個數(shù),類型與Fields相同的數(shù)組。相同的數(shù)組。n 使用使用AddNew方法為記錄集添加新的記錄后,應(yīng)使用方法為記錄集添加新的記錄后,應(yīng)使用UpDate將所添加的的數(shù)據(jù)存儲在數(shù)據(jù)庫中。將所添加的的數(shù)據(jù)存儲在數(shù)據(jù)庫中。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利
17、水電出版社中國水利水電出版社14.1.2 ADO的編程模型的編程模型n4.修改記錄集修改記錄集n 用用SQL語句將要修改的字段的一個數(shù)據(jù)找出來重新賦值。語句將要修改的字段的一個數(shù)據(jù)找出來重新賦值。n5.刪除記錄的刪除記錄的Delete方法方法n 語法語法:Recordset.Delete AffectRecordsn其中其中:AffectRecords參數(shù)是確定參數(shù)是確定Delete方法作用的方式的。方法作用的方式的。n它的取值如下它的取值如下:adAffectCurrent 只刪除當(dāng)前的記錄。只刪除當(dāng)前的記錄。n adAffectGroup 刪除符合刪除符合Filter屬性設(shè)置的那些記錄。為
18、了一次能刪屬性設(shè)置的那些記錄。為了一次能刪除一組數(shù)據(jù),應(yīng)設(shè)置除一組數(shù)據(jù),應(yīng)設(shè)置Filter屬性。屬性。n6.查詢記錄查詢記錄n(1)方法一:)方法一:n使用連接對象的使用連接對象的Execute方法執(zhí)行方法執(zhí)行SQL命令,返回查詢記錄集。命令,返回查詢記錄集。n(2)方法二:)方法二:n 使用使用Command對象的對象的Execute方法執(zhí)行方法執(zhí)行CommandText屬性中設(shè)置的屬性中設(shè)置的SQL命令,返回查詢記錄集。命令,返回查詢記錄集。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.1.2 ADO的編程模型的編程模型n7.斷開連接斷開連接n 在應(yīng)
19、用程序結(jié)束之前在應(yīng)用程序結(jié)束之前,應(yīng)該釋放分配給應(yīng)該釋放分配給ADO對象對象的資源的資源,操作系統(tǒng)回收這些資源并可以再分配給其他應(yīng)操作系統(tǒng)回收這些資源并可以再分配給其他應(yīng)用程序用程序.n 使用的方法為使用的方法為:Close方法。方法。n語法:語法:ADO對象對象.Close VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社 14.2 ADODC控件控件 n14.2.1 ADODC控件控件n在在VB中,使用中,使用ADO訪問數(shù)據(jù)庫主要有兩種方式,一種訪問數(shù)據(jù)庫主要有兩種方式,一種是使用是使用ADO數(shù)據(jù)控件,通過對控件的綁定來訪問數(shù)據(jù)數(shù)據(jù)控件,通過對控件的綁定來訪
20、問數(shù)據(jù)庫中的數(shù)據(jù),即非編程訪問方式;另一種是使用庫中的數(shù)據(jù),即非編程訪問方式;另一種是使用ADO對象模型,通過定義對象和編寫代碼來實現(xiàn)對數(shù)據(jù)的對象模型,通過定義對象和編寫代碼來實現(xiàn)對數(shù)據(jù)的訪問,即編程訪問方式,以下我們先介紹使用訪問,即編程訪問方式,以下我們先介紹使用ADODC控件對數(shù)據(jù)庫進(jìn)行訪問??丶?shù)據(jù)庫進(jìn)行訪問。n1ADODC控件幾個重要的與數(shù)據(jù)庫有關(guān)的屬性,如控件幾個重要的與數(shù)據(jù)庫有關(guān)的屬性,如表表14-1所示:所示:VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社 14.2 ADODC控件控件 n表表 14-1 ADO控件屬性控件屬性CommandT
21、ype指示命令類型。取值為:1 adCmdText SQL 語句2 adCmdTable 表4 adCmdStoredProc存儲過程8 adCmdUnknown 其他類型ConnectionString支持連接字符串的OLEDB提供程序(打開屬性頁-通用)。ConnectionTimeou在中止前等待打開連接的時間量(單位秒)。CursorLocation決定時使用服務(wù)器端游標(biāo)還是客戶端游標(biāo)(使用哪個游標(biāo)引擎)。取值為:2 adUseServer3 adUseClientCursorType設(shè)置用于下一級Recordset的游標(biāo)類型。取值為:1 adOpenKeyset2 adOpenDyn
22、amic3 adOpenStaticPassword密碼-支持密碼的OLEDB提供程序。(打開屬性頁-身份驗證)RecordSourceRecordset源(adCommandText=SQL或者其它命令語法,adCommandTable=表名稱。)(打開屬性頁-記錄源)UserName用戶名稱-支持用戶名稱的OLEDB提供程序VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社 14.2 ADODC控件控件 n2ADODC控件常用的方法控件常用的方法n(1)Refresh方法。方法。n該方法用于刷新與該方法用于刷新與ADODC控件連接的記錄集數(shù)據(jù)??丶B接的記錄集
23、數(shù)據(jù)。n(2)UpDateRecord方法方法n通過此方法可以將數(shù)據(jù)綁定控件上的當(dāng)前內(nèi)容寫入到數(shù)據(jù)庫。通過此方法可以將數(shù)據(jù)綁定控件上的當(dāng)前內(nèi)容寫入到數(shù)據(jù)庫。n(3)Close方法方法nClose方法主要用于關(guān)閉打開的對象及相關(guān)對象。方法主要用于關(guān)閉打開的對象及相關(guān)對象。n3ADODC控件的事件控件的事件nADODC控件的事件分為兩種類型即:控件的事件分為兩種類型即:Will事件和事件和Complete事件。事件。其中其中Will事件是在操作開始之前調(diào)用,這時可能檢查或修改操作事件是在操作開始之前調(diào)用,這時可能檢查或修改操作參數(shù),并且可以決定是取消操作還是允許完成操作。而參數(shù),并且可以決定是取消
24、操作還是允許完成操作。而Complete事件是在操作完成之后調(diào)用。事件是在操作完成之后調(diào)用。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社 14.2 ADODC控件控件 n(1)WillMove事件事件nWillMove事件在執(zhí)行更改事件在執(zhí)行更改Recordset中的當(dāng)前記錄操中的當(dāng)前記錄操作之前調(diào)用。而作之前調(diào)用。而MoveComplete事件則是在執(zhí)行更改事件則是在執(zhí)行更改Recordset中的當(dāng)前記錄操作之后被調(diào)用。執(zhí)行中的當(dāng)前記錄操作之后被調(diào)用。執(zhí)行Recordset.Open、Recordset.MoveNext、Recordset.Move、Re
25、cordset.MoveLast、Recordset.MoveFirst、Recordset.MovePrevious、Recordset.Bookmark、Recordset.AddNew、Recordset.Delete、Recordset.Requery等方法時觸等方法時觸發(fā)。發(fā)。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社 14.2 ADODC控件控件 n(2)WillChangField事件和事件和FieldChangComplete事件事件n WillChangeField 在在Recordset對象中對象中Field屬性值更改之前屬性值更改之前
26、調(diào)用。而調(diào)用。而FieldChangeComplete 在在Recordset對象中對象中Field屬性屬性值更改之后調(diào)用。值更改之后調(diào)用。執(zhí)行執(zhí)行Recordset.Update、Recordset.Delete、Recordset.CancelUpdate、Recordset.UpdateBatch、Recordset.CancelBatch 等方法時觸發(fā)。等方法時觸發(fā)。n(3)WillChangRecordSet事件事件n WillChangRecordSet發(fā)生在對發(fā)生在對Recordset對象進(jìn)行操作之對象進(jìn)行操作之前,而前,而nRecordSetChangComplete發(fā)生對發(fā)生
27、對Recordset對象進(jìn)行操作之后。對象進(jìn)行操作之后。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.2.2 數(shù)據(jù)綁定控件數(shù)據(jù)綁定控件n1數(shù)據(jù)綁定簡述數(shù)據(jù)綁定簡述nADODC控件只能連接數(shù)據(jù)庫,產(chǎn)生記錄集。但不能顯示記錄集控件只能連接數(shù)據(jù)庫,產(chǎn)生記錄集。但不能顯示記錄集中的數(shù)據(jù),要顯示記錄集中的數(shù)據(jù)必須通過能與它綁定的控件來中的數(shù)據(jù),要顯示記錄集中的數(shù)據(jù)必須通過能與它綁定的控件來實現(xiàn)。實現(xiàn)。數(shù)據(jù)庫記錄集數(shù)據(jù)綁定圖 14-3 數(shù)據(jù)綁定與數(shù)據(jù)庫和記錄集關(guān)系圖 14-3 數(shù)據(jù)綁定與數(shù)據(jù)庫和記錄集關(guān)系VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社
28、中國水利水電出版社14.2.2 數(shù)據(jù)綁定控件數(shù)據(jù)綁定控件n數(shù)據(jù)綁定控件數(shù)據(jù)綁定控件n具有具有DataSource、DataField屬性的控件均可作為綁屬性的控件均可作為綁定控件定控件n(2)常用綁定控件)常用綁定控件nComBox,Label,TextBox等控件是較為常用的數(shù)據(jù)綁等控件是較為常用的數(shù)據(jù)綁定控件。定控件。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.2.2 數(shù)據(jù)綁定控件數(shù)據(jù)綁定控件n(3)專門與)專門與ADO控件綁定的控件綁定的ActiveX控件控件nDataList 數(shù)據(jù)列表控件數(shù)據(jù)列表控件n我們在下一節(jié)將專門介紹我們在下一節(jié)將專門介
29、紹ADO控件與控件與DataList控件結(jié)合顯示數(shù)據(jù)??丶Y(jié)合顯示數(shù)據(jù)。nDataGrid 數(shù)據(jù)網(wǎng)格控件數(shù)據(jù)網(wǎng)格控件n我們在下一節(jié)將專門介紹我們在下一節(jié)將專門介紹ADO控件與控件與DataGrid控件結(jié)合顯示數(shù)據(jù)??丶Y(jié)合顯示數(shù)據(jù)。nDataCombo 數(shù)據(jù)組合控件數(shù)據(jù)組合控件n(4)高級數(shù)據(jù)綁定控件)高級數(shù)據(jù)綁定控件nMi crosoft Hierarchical FlexGfid 分層式網(wǎng)格控件分層式網(wǎng)格控件nMicrosoft Chart 圖表控件圖表控件n以上控件中數(shù)據(jù)網(wǎng)格控件和圖表控件可以綁定到整個記錄集,而以上控件中數(shù)據(jù)網(wǎng)格控件和圖表控件可以綁定到整個記錄集,而其他控件只能綁定到記
30、錄集的某一個字段。其他控件只能綁定到記錄集的某一個字段。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.2.2 數(shù)據(jù)綁定控件數(shù)據(jù)綁定控件n2數(shù)據(jù)綁定方法數(shù)據(jù)綁定方法n(1)添加控件)添加控件n首先添加首先添加ADODC控件及綁定控件添加到窗體上。控件及綁定控件添加到窗體上。n(2)設(shè)置)設(shè)置ADODC控件屬性控件屬性n設(shè)置設(shè)置ADODC控件的控件的ConnectionString,RecordSource,Password,UserName屬性,連接數(shù)據(jù)庫。屬性,連接數(shù)據(jù)庫。n(3)設(shè)置綁定控件的)設(shè)置綁定控件的DataSource屬性屬性n將綁定控件的將
31、綁定控件的DataSource屬性設(shè)為屬性設(shè)為ADODC控件的名稱??丶拿Q。n(4)設(shè)置綁定控件的)設(shè)置綁定控件的DateField屬性屬性n將綁定控件的將綁定控件的DateField屬性設(shè)為要顯示的字段名稱。屬性設(shè)為要顯示的字段名稱。n完成上述步驟后,即可通過綁定控件將數(shù)據(jù)顯示。完成上述步驟后,即可通過綁定控件將數(shù)據(jù)顯示。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3在在Visual Basic中使用中使用ADO對象對象n14.3.1非編程訪問方式非編程訪問方式n我們以我們以SQL Server 2000數(shù)據(jù)庫為例。使用數(shù)據(jù)庫為例。使用ADODC
32、控控件,快速創(chuàng)建數(shù)據(jù)綁定控件和數(shù)據(jù)提供者之間的連接。件,快速創(chuàng)建數(shù)據(jù)綁定控件和數(shù)據(jù)提供者之間的連接。其中數(shù)據(jù)綁定控件可以是任何具有其中數(shù)據(jù)綁定控件可以是任何具有DataSource屬性的屬性的控件;數(shù)據(jù)提供者可以是任何符合控件;數(shù)據(jù)提供者可以是任何符合OLE DB規(guī)范的數(shù)據(jù)規(guī)范的數(shù)據(jù)源。源。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.1非編程訪問方式非編程訪問方式nADODC控件和控件和DataList控件應(yīng)用實例控件應(yīng)用實例n(1)建立)建立login數(shù)據(jù)庫數(shù)據(jù)庫n首先啟動首先啟動SQL Server 2000企業(yè)管理器,建立一個企業(yè)管理器,建立
33、一個login的數(shù)據(jù)的數(shù)據(jù)庫,在庫,在 login數(shù)據(jù)庫中建立數(shù)據(jù)庫中建立“用戶信息用戶信息”數(shù)據(jù)表,如圖數(shù)據(jù)表,如圖14-4所示:所示:圖 14-4 SQL Server 2000企業(yè)管理器建立數(shù)據(jù)庫和數(shù)據(jù)表VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.1非編程訪問方式非編程訪問方式n(2)添加)添加ADODC控件控件nADODC 控件是控件是ActiveX控件,在使用前必須先將其添加到工具箱中。方法是:單控件,在使用前必須先將其添加到工具箱中。方法是:單擊擊“工程工程”“部件部件”菜單選項,選中菜單選項,選中“Microsoft ADO Data
34、 Control 6.0(OLE DB)”后,按后,按“確定確定”,此時,此時ADO數(shù)據(jù)控件便出現(xiàn)在工具箱中,如圖數(shù)據(jù)控件便出現(xiàn)在工具箱中,如圖14-5所示:所示:圖圖 14-5 14-5 添加添加ADODCADODC控件控件VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.1非編程訪問方式非編程訪問方式n(3)設(shè)置)設(shè)置ADODC連接屬性連接屬性n將將ADODC控件添加到窗體上,其默認(rèn)的名稱屬性為控件添加到窗體上,其默認(rèn)的名稱屬性為“Adodc1”。右擊。右擊ADODC 控件,選控件,選“ADODC屬性屬性”,彈出,彈出“屬性頁屬性頁”對話框,如圖對話
35、框,如圖14-6所示:所示:圖 14-6 設(shè)置ADODC控件ConnectionString屬性VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社n點(diǎn)擊點(diǎn)擊 彈出屬性頁面,選彈出屬性頁面,選擇擇“通用通用”,選中,選中“使用連使用連接字符串接字符串”(也可以選擇(也可以選擇“ODBC數(shù)據(jù)源名稱數(shù)據(jù)源名稱”),),再單擊再單擊“生成生成”按鈕,彈出按鈕,彈出“數(shù)據(jù)鏈接屬性數(shù)據(jù)鏈接屬性”對話框。對話框。選擇選擇“提供程序提供程序”選項卡,選項卡,在列表中選擇在列表中選擇“Microsoft OLE DB Provider For SQL SERVER”選項,如圖選項,
36、如圖14-7所示,再單擊所示,再單擊“下一步下一步”按鈕。按鈕。圖 14-7 選擇OLE DB提供程序14.3.1非編程訪問方式非編程訪問方式VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.1非編程訪問方式非編程訪問方式n指定服務(wù)器的名稱指定服務(wù)器的名稱和登錄信息并選擇和登錄信息并選擇本連接要使用的數(shù)本連接要使用的數(shù)據(jù)庫文件。單擊據(jù)庫文件。單擊“測試連接測試連接”按鈕按鈕以確定連接是否正以確定連接是否正常。若得到測試成常。若得到測試成功的消息,單擊功的消息,單擊“確定確定”按鈕以繼按鈕以繼續(xù),如圖續(xù),如圖14-8所示。所示。服務(wù)器名稱:機(jī)器名服務(wù)器名稱
37、:機(jī)器名實例名實例名圖 14-8 設(shè)置數(shù)據(jù)連接屬性VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.1非編程訪問方式非編程訪問方式n(4)設(shè)置)設(shè)置AD0DC數(shù)據(jù)源屬性數(shù)據(jù)源屬性n在在“屬性頁屬性頁”對話框中選擇對話框中選擇“記記錄源錄源”選項卡,在命令類型下拉選項卡,在命令類型下拉列表中選擇列表中選擇“2-adCmdTable”選項,在表或存儲過程名稱下拉選項,在表或存儲過程名稱下拉列表中選擇數(shù)據(jù)表列表中選擇數(shù)據(jù)表“用戶信息用戶信息”。(若選擇的命令類型為(若選擇的命令類型為“1-adCmdText”,則可在命令文本,則可在命令文本框中輸入框中輸入SQ
38、L查詢語查詢語句句,SELECT*from 用戶信息),用戶信息),然后單擊然后單擊“確定確定”按鈕,如圖按鈕,如圖14-9所示:所示:圖 14-9 設(shè)置記錄源VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.1非編程訪問方式非編程訪問方式n(5)在窗體上添加數(shù)據(jù))在窗體上添加數(shù)據(jù)綁定控件綁定控件n我們使用我們使用DataList數(shù)據(jù)數(shù)據(jù)綁定控件。綁定控件。DataList 控控件是件是ActiveX控件,在使控件,在使用前必須先將其添加到用前必須先將其添加到工具箱中。方法是:單工具箱中。方法是:單擊擊“工程工程”“部件部件”菜單選項,選中菜單選項,選中
39、“Microsoft DataList Control 6.0(SP3)”后,按后,按“確定確定”,此時,此時DataList控件便出現(xiàn)在控件便出現(xiàn)在工具箱中。工具箱中。圖 14-9 將添加DataLIst控件添加到工具箱VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.1非編程訪問方式非編程訪問方式n(6)設(shè)置)設(shè)置DataList屬性屬性n 將將DataList與與ADODC1進(jìn)行綁定,如圖進(jìn)行綁定,如圖14-10所示:所示:圖 14-10 設(shè)置DataList屬性VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.
40、3.1非編程訪問方式非編程訪問方式n(7)運(yùn)行程序)運(yùn)行程序n將數(shù)據(jù)表信息通過綁定控件將數(shù)據(jù)表信息通過綁定控件DataList顯示,如圖顯示,如圖14-11所示:所示:圖 14-11 在DataList控件中顯示用戶名VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.1非編程訪問方式非編程訪問方式n2ADODC控件和控件和DataGrid控件應(yīng)用實例控件應(yīng)用實例n(1)建立)建立login數(shù)據(jù)庫數(shù)據(jù)庫n首先啟動首先啟動SQL Server 2000企業(yè)管理器,建立一企業(yè)管理器,建立一個個login的數(shù)據(jù)庫,在的數(shù)據(jù)庫,在login數(shù)據(jù)庫中建立數(shù)據(jù)庫中建立
41、“用戶用戶信息信息”數(shù)據(jù)表。數(shù)據(jù)表。n(2)添加)添加ADODC控件并設(shè)置屬性控件并設(shè)置屬性n方法同方法同ADODC控件和控件和DataList控件應(yīng)用實例,控件應(yīng)用實例,不再詳細(xì)介紹。不再詳細(xì)介紹。n(3)添加)添加DataGrid控件控件n在窗體上添加在窗體上添加ADO專用綁定控件專用綁定控件DataGrid控控件。件。DataGrid控件是控件是ActiveX控件,在使用前必控件,在使用前必須先將其添加到工具箱中。方法是:單擊須先將其添加到工具箱中。方法是:單擊“工工程程”“部件部件”菜單選項,選中菜單選項,選中“Microsoft DataGrid Control 6.0(SP6)”后
42、,按后,按“確確定定”,此時,此時DataList控件便出現(xiàn)在工具箱中控件便出現(xiàn)在工具箱中,如圖如圖14-12所示:所示:圖 14-12 添加DataGrid控件VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.1非編程訪問方式非編程訪問方式n設(shè)置設(shè)置DataGrid屬性屬性nDataGrid控件控件DataSource屬性如圖屬性如圖14-13所示:所示:圖 14-13 設(shè)置DataGrid的DataSource屬性VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.1非編程訪問方式非編程訪問方式n進(jìn)行數(shù)據(jù)綁定數(shù)據(jù)
43、:進(jìn)行數(shù)據(jù)綁定數(shù)據(jù):n右鍵單擊右鍵單擊DataGrid控件,選擇控件,選擇“檢索字段檢索字段”,進(jìn)行數(shù)據(jù)綁定,也可以選,進(jìn)行數(shù)據(jù)綁定,也可以選擇擇“屬性屬性DataField”進(jìn)行綁定。進(jìn)行綁定。n(4)運(yùn)行程序)運(yùn)行程序n運(yùn)行程序后,將數(shù)據(jù)表的信息通過數(shù)據(jù)綁定控件運(yùn)行程序后,將數(shù)據(jù)表的信息通過數(shù)據(jù)綁定控件DataGrid顯示出來,如顯示出來,如圖圖14-14所示:所示:圖 14-14 在DataGrid控件中顯示數(shù)據(jù)表“用戶信息”VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.1非編程訪問方式非編程訪問方式n通過通過ADODC控件與控件與DataLi
44、st控件及控件及ADODC控件與控件與DataGrid控件結(jié)合,可實現(xiàn)控件結(jié)合,可實現(xiàn)SQL Server數(shù)據(jù)庫數(shù)據(jù)庫login中中“用戶信息用戶信息”表中數(shù)據(jù)的瀏覽功能。表中數(shù)據(jù)的瀏覽功能。ADODC控件還控件還可以和可以和TextBox控件、控件、DataCombo控件結(jié)合,顯示數(shù)控件結(jié)合,顯示數(shù)據(jù)表數(shù)據(jù)。據(jù)表數(shù)據(jù)。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.1編程訪問方式編程訪問方式n編程訪問方式是使用編程訪問方式是使用ADO 對象模型訪問數(shù)據(jù)庫。為了對象模型訪問數(shù)據(jù)庫。為了能夠在程序中使用能夠在程序中使用ADO對象編程,在連接數(shù)據(jù)庫前,對象
45、編程,在連接數(shù)據(jù)庫前,需要在需要在Visual Basic 6.0菜單菜單“工程工程”“引用引用”中中選擇選擇Microsoft ActiveX Data Objects 2.8 Library組組件。運(yùn)用件。運(yùn)用ADO對象模型的主要元素:對象模型的主要元素:Connection(連(連接)中的接)中的ConnectionString屬性進(jìn)行連接,屬性進(jìn)行連接,ConnectionString為可讀寫為可讀寫string類型,指定一個連類型,指定一個連接字符串,告訴接字符串,告訴ADO如何連接數(shù)據(jù)庫。如何連接數(shù)據(jù)庫。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版
46、社14.3.1編程訪問方式編程訪問方式n1定義定義ADO對象用于設(shè)置打開連接和產(chǎn)生記錄集對象用于設(shè)置打開連接和產(chǎn)生記錄集n(1)聲明語句如下:)聲明語句如下:n Dim conn As New ADODB.Connection 定義連接對象定義連接對象n Dim rs As New ADODB.Recordset 定義記錄集對象定義記錄集對象n(2)創(chuàng)建對象實例)創(chuàng)建對象實例n定義定義ADO對象實例,聲明了對象以后,還需要創(chuàng)建對象實例,否對象實例,聲明了對象以后,還需要創(chuàng)建對象實例,否則不能使用。以下是兩條重要語句:則不能使用。以下是兩條重要語句:nSet conn=New ADODB.Con
47、nection 創(chuàng)建創(chuàng)建conn對象對象nSet rs=New ADODB.Recordset 創(chuàng)建創(chuàng)建rs對象對象VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.1編程訪問方式編程訪問方式n2數(shù)據(jù)庫連接數(shù)據(jù)庫連接n設(shè)置設(shè)置Connection對象實例對象實例ConnectionString屬性連屬性連接到數(shù)據(jù)庫。有兩種方法:有源數(shù)據(jù)庫連接和無源數(shù)接到數(shù)據(jù)庫。有兩種方法:有源數(shù)據(jù)庫連接和無源數(shù)據(jù)庫連接據(jù)庫連接n(1)有源數(shù)據(jù)庫連接)有源數(shù)據(jù)庫連接n有源數(shù)據(jù)庫連接首要任務(wù)是要注冊數(shù)據(jù)源名稱有源數(shù)據(jù)庫連接首要任務(wù)是要注冊數(shù)據(jù)源名稱(DSN),通過配置),通
48、過配置ODBC環(huán)境,進(jìn)行數(shù)據(jù)源的注冊,環(huán)境,進(jìn)行數(shù)據(jù)源的注冊,然后才能對數(shù)據(jù)源進(jìn)行連接、訪問和操作。以連接數(shù)然后才能對數(shù)據(jù)源進(jìn)行連接、訪問和操作。以連接數(shù)據(jù)源據(jù)源login為實例進(jìn)行操作:為實例進(jìn)行操作:VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.1編程訪問方式編程訪問方式n啟動啟動ODBCn在在Windows XP點(diǎn)擊點(diǎn)擊“開始開始”“控件面板控件面板”“性性能和維護(hù)能和維護(hù)”管理工具,出現(xiàn)如下界面:管理工具,出現(xiàn)如下界面:圖 14-15 ODBC界面VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.1編程
49、訪問方式編程訪問方式n添加添加“用戶用戶DSN”n雙擊雙擊“數(shù)據(jù)源(數(shù)據(jù)源(ODBC)”,出現(xiàn)如下界面,選擇,出現(xiàn)如下界面,選擇“用戶用戶DSN”,點(diǎn)擊,點(diǎn)擊“添加添加”,如圖,如圖14-16所示:所示:圖 14-16 添加用DSNVBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.1編程訪問方式編程訪問方式n選擇數(shù)據(jù)源的驅(qū)動程序選擇數(shù)據(jù)源的驅(qū)動程序n數(shù)據(jù)源驅(qū)動程序選擇數(shù)據(jù)源驅(qū)動程序選擇“SQL Server”,如圖如圖14-17所示:所示:圖 14-17 選擇數(shù)據(jù)源的驅(qū)動程序VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社
50、14.3.1編程訪問方式編程訪問方式n數(shù)據(jù)源命名數(shù)據(jù)源命名n給數(shù)據(jù)源命名為給數(shù)據(jù)源命名為Login,如圖,如圖14-18所示:所示:服務(wù)器名稱:機(jī)器名實例名圖 14-18 給數(shù)據(jù)源命名VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.1編程訪問方式編程訪問方式n注:服務(wù)器名根據(jù)實際情況填寫:機(jī)器名注:服務(wù)器名根據(jù)實際情況填寫:機(jī)器名實例名實例名n測試數(shù)據(jù)源測試數(shù)據(jù)源:圖 14-19 數(shù)據(jù)源測試VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.1編程訪問方式編程訪問方式n(2)無源數(shù)據(jù)庫連接)無源數(shù)據(jù)庫連接n與有源數(shù)
51、據(jù)庫連接的區(qū)別在于不需要配置與有源數(shù)據(jù)庫連接的區(qū)別在于不需要配置ODBC,不使用,不使用DSN。n提供連接所需要的特定信息包括提供連接所需要的特定信息包括n服務(wù)器名稱:服務(wù)器名稱:“機(jī)器名機(jī)器名實例名實例名”n用戶名:用戶名:“sa”n口令可為空口令可為空n與數(shù)據(jù)庫與數(shù)據(jù)庫“l(fā)ogin”建立的連接代碼如下:建立的連接代碼如下:nconn.ConnectionString=driver=sql server;_nserver=機(jī)器名機(jī)器名實例名;實例名;Uer Id=sa;pwd=;Database=loginn打開連接對象打開連接對象n設(shè)置好連接屬性后,就可以打開連接對象了。代碼如下:設(shè)置好連
52、接屬性后,就可以打開連接對象了。代碼如下:n conn.Openn這樣,這樣,VB和后臺和后臺SQL Server數(shù)據(jù)庫的連接就創(chuàng)建好了。數(shù)據(jù)庫的連接就創(chuàng)建好了。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.3實例操作實例操作n1有源數(shù)據(jù)庫連接有源數(shù)據(jù)庫連接n(1)創(chuàng)建)創(chuàng)建“標(biāo)準(zhǔn)標(biāo)準(zhǔn)EXE”工程,工程命名為工程,工程命名為loginn(2)引用)引用“Microsoft ActiveX Data Object 2.0 Library”n(3)創(chuàng)建模塊文件)創(chuàng)建模塊文件n選擇選擇“工程工程”“添加模塊添加模塊”,在模塊中輸入代碼:,在模塊中輸入代碼:
53、nPublic conn As New ADODB.Connection 標(biāo)記新連接對象標(biāo)記新連接對象nPublic rs As ADODB.Recordset 標(biāo)記新記錄集對象標(biāo)記新記錄集對象VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.3實例操作實例操作n(4)創(chuàng)建登錄窗體界)創(chuàng)建登錄窗體界面面n選擇選擇“工程工程”“添加添加窗體窗體”,在,在VB窗體中添窗體中添加兩個標(biāo)簽控件、兩個加兩個標(biāo)簽控件、兩個文件框控件和一個命令文件框控件和一個命令按鈕控件按鈕控件,窗體界面如圖窗體界面如圖14-20:圖 14-20 登錄窗體界面VBVB程序設(shè)計項目化教
54、程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.3實例操作實例操作n有源數(shù)據(jù)庫連接主要代碼有源數(shù)據(jù)庫連接主要代碼nDim conn As New ADODB.Connection 定義連接對象定義連接對象nDim rs As ADODB.Recordset 定義記錄集對象定義記錄集對象n窗體加載代碼窗體加載代碼:nPrivate Sub Form_Load()nSet conn=New ADODB.Connection 設(shè)置設(shè)置conn實例對象實例對象nSet rs=New ADODB.Recordset 設(shè)置設(shè)置rs實例對象實例對象nconn.ConnectionStrin
55、g=DSN=login;User_ ID=sa;Password=;database=login;nconn.ConnectionTimeout=30nconn.OpennEnd SubVBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.3實例操作實例操作n其中有源數(shù)據(jù)庫連接:其中有源數(shù)據(jù)庫連接:nDSN數(shù)據(jù)源是數(shù)據(jù)源是“Login”n用戶名是用戶名是“sa”n口令為空口令為空n與數(shù)據(jù)庫與數(shù)據(jù)庫“l(fā)ogin”建立的連接代碼:建立的連接代碼:nconn.ConnectionString=DSN=Login;User ID=sa;PWD=;database=l
56、ogin;n命令按鈕代碼:命令按鈕代碼:nPrivate Sub Command1_Click()nrs.Open select*from 用戶信息用戶信息 where 用戶名用戶名=&Text1.Text&_nand 密碼密碼=&Text2.Text&,conn,adOpenstate,adLockOptimistic,_ adCmdTextVBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.3實例操作實例操作nIf rs.EOF=True ThennMsgBox 請重新輸入學(xué)號或密碼請重新輸入學(xué)號或密碼!nText1.Text=nText2.Text=
57、nText1.SetFocusnElsenMsgBox 登錄成功登錄成功nEnd Ifnrs.ClosenUnload MenEnd SubVBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.3實例操作實例操作n(6)程序運(yùn)行)程序運(yùn)行n程序運(yùn)行后,用戶名與密碼輸入正確后,登錄成功程序運(yùn)行后,用戶名與密碼輸入正確后,登錄成功,n如圖如圖14-21所示:所示:圖 14-21 登錄成功界面VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.3.3實例操作實例操作n2.無源數(shù)據(jù)庫連接無源數(shù)據(jù)庫連接n與有源數(shù)據(jù)庫連接不同的是無與有
58、源數(shù)據(jù)庫連接不同的是無DSN,無源數(shù)據(jù)庫連接代碼:無源數(shù)據(jù)庫連接代碼:nconn.ConnectionString=“Provider=SQLOLEDB.1;Persist Security_ Info=False;Server=機(jī)器名機(jī)器名實例名實例名;_ nUser ID=sa;Password=;DataBase=login“n(1)窗體加載主要代碼為:)窗體加載主要代碼為:nPrivate Sub Form_Load()nSet conn=New ADODB.Connection nSet rs=New ADODB.Recordsetnconn.ConnectionString=Pro
59、vider=SQLOLEDB.1;Persist Security_nInfo=False;Server=機(jī)器名機(jī)器名實例名實例名;User ID=sa;_nPassword=;DataBase=login;nconn.ConnectionTimeout=30nconn.OpennEnd Subn(2)其它代碼與有源數(shù)據(jù)庫連接相同)其它代碼與有源數(shù)據(jù)庫連接相同VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.4結(jié)束語結(jié)束語n14.4.1 ADO數(shù)據(jù)控件和數(shù)據(jù)控件和ADO對象模型比較對象模型比較n1連接數(shù)據(jù)庫比較連接數(shù)據(jù)庫比較nADO數(shù)據(jù)控件和數(shù)據(jù)控件和ADO
60、對象模型都為我們提供了數(shù)據(jù)庫對象模型都為我們提供了數(shù)據(jù)庫訪問的接口技術(shù),使用訪問的接口技術(shù),使用ADO控件在建立連接、選擇數(shù)控件在建立連接、選擇數(shù)據(jù)表時,不需要創(chuàng)建連接對象和記錄集對象,據(jù)表時,不需要創(chuàng)建連接對象和記錄集對象,ADO控控件幾乎封裝了相應(yīng)代碼的所有功能,只需設(shè)置好與之件幾乎封裝了相應(yīng)代碼的所有功能,只需設(shè)置好與之相關(guān)的屬性、方法和事件,操作簡單。使用相關(guān)的屬性、方法和事件,操作簡單。使用ADO對象對象模型,通過定義對象、編寫代碼來實現(xiàn)數(shù)據(jù)庫的訪問,模型,通過定義對象、編寫代碼來實現(xiàn)數(shù)據(jù)庫的訪問,能很好地控制各種操作,具備更多的靈活性和更強(qiáng)大能很好地控制各種操作,具備更多的靈活性和
61、更強(qiáng)大的功能。的功能。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.4結(jié)束語結(jié)束語n2.應(yīng)用領(lǐng)域比較應(yīng)用領(lǐng)域比較nADO控件雖然操作簡單,但靈活性較差,不利于對大控件雖然操作簡單,但靈活性較差,不利于對大型數(shù)據(jù)庫訪問,一個型數(shù)據(jù)庫訪問,一個ADO控件只能在同一數(shù)據(jù)源上打控件只能在同一數(shù)據(jù)源上打開一個記錄集,在一個應(yīng)用中若涉及多個記錄集,則開一個記錄集,在一個應(yīng)用中若涉及多個記錄集,則需要建立多個需要建立多個ADO控件。而使用控件。而使用ADO對象模型,便對象模型,便于實現(xiàn)對象重用、封裝等技術(shù),也利于事件處理,提于實現(xiàn)對象重用、封裝等技術(shù),也利于事件處理,
62、提高數(shù)據(jù)操作效率,特別是對海量數(shù)據(jù)的處理。在開發(fā)高數(shù)據(jù)操作效率,特別是對海量數(shù)據(jù)的處理。在開發(fā)應(yīng)用程序時,應(yīng)根據(jù)數(shù)據(jù)庫應(yīng)用程序的特點(diǎn)來選擇具應(yīng)用程序時,應(yīng)根據(jù)數(shù)據(jù)庫應(yīng)用程序的特點(diǎn)來選擇具體的訪問方式。體的訪問方式。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.5思考題與練習(xí)題思考題與練習(xí)題n14.5.1 思考題思考題n1如何實現(xiàn)如何實現(xiàn)ADODC控件與控件與DataCombo控件結(jié)合控件結(jié)合n2如何實現(xiàn)如何實現(xiàn)ADODC控件與控件與TextBox控件結(jié)合控件結(jié)合n3編程訪問數(shù)據(jù)庫中如何理解無源數(shù)據(jù)庫連接編程訪問數(shù)據(jù)庫中如何理解無源數(shù)據(jù)庫連接VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社14.5.2 練習(xí)題練習(xí)題n1設(shè)計學(xué)生信息窗體。使用設(shè)計學(xué)生信息窗體。使用TextBox綁定控件,窗體綁定控件,窗體上添加上添加4個標(biāo)簽控件,個標(biāo)簽控件,4個文本框控件,一個個文本框控件,一個ADODC控控件,如圖件,如圖14-22所示:所示:圖 14-22 ADODC控件與TextBox綁定控件結(jié)合顯示數(shù)據(jù)
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第七章-透射電子顯微鏡
- 群落的結(jié)構(gòu)(課件)
- 焊接基礎(chǔ)知識
- 水文地質(zhì)學(xué)課件
- 某公司員工工傷安全管理規(guī)定
- 消防培訓(xùn)課件:安全檢修(要點(diǎn))
- 某公司安全生產(chǎn)考核與獎懲辦法范文
- 安全作業(yè)活動安全排查表
- 某公司危險源安全辨識、分類和風(fēng)險評價、分級辦法
- 某公司消防安全常識培訓(xùn)資料
- 安全培訓(xùn)資料:危險化學(xué)品的類別
- 中小學(xué)寒假學(xué)習(xí)計劃快樂度寒假充實促成長
- 紅色插畫風(fēng)輸血相關(guān)知識培訓(xùn)臨床輸血流程常見輸血不良反應(yīng)
- 14.應(yīng)急救援隊伍訓(xùn)練記錄
- 某公司各部門及人員安全生產(chǎn)責(zé)任制