




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 1 ADO對(duì)象模型對(duì)象模型 ADO(ActiveX Data Object)活動(dòng)數(shù)據(jù)訪問接口是活動(dòng)數(shù)據(jù)訪問接口是Microsoft處置數(shù)據(jù)庫(kù)信息的最新技術(shù)。采用處置數(shù)據(jù)庫(kù)信息的最新技術(shù)。采用OLE DB的數(shù)據(jù)訪問方式,是數(shù)據(jù)訪問對(duì)象的數(shù)據(jù)訪問方式,是數(shù)據(jù)訪問對(duì)象DAO、遠(yuǎn)程數(shù)據(jù)、遠(yuǎn)程數(shù)據(jù)對(duì)象對(duì)象RDO和開放數(shù)據(jù)庫(kù)互連和開放數(shù)據(jù)庫(kù)互連ODBC三種方式的擴(kuò)展。三種方式的擴(kuò)展。OLE對(duì)象鏈接使能,具有鏈接和嵌入對(duì)象的功能。對(duì)象鏈接使能,具有鏈接和嵌入對(duì)象的功能。ADO對(duì)象模型定義了一個(gè)可編程的分層對(duì)象集合,主對(duì)象模型定義了一個(gè)可編程的分層對(duì)象集合,主要由三個(gè)對(duì)象成員要由三個(gè)對(duì)象成員Connecti
2、on、Command和和Recordset對(duì)象,以及幾個(gè)集合對(duì)象對(duì)象,以及幾個(gè)集合對(duì)象Errors、Parameters和和Fields等所組成。等所組成。6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 圖圖6.13 ADO6.13 ADO對(duì)象模型對(duì)象模型 6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 表表6.6 ADO6.6 ADO對(duì)象描畫對(duì)象描畫 對(duì)象名對(duì)象名 描描 述述Connection Connection 指定銜接數(shù)據(jù)來(lái)源指定銜接數(shù)據(jù)來(lái)源Command Command 發(fā)出命令信息從數(shù)據(jù)源獲取
3、所需數(shù)據(jù)發(fā)出命令信息從數(shù)據(jù)源獲取所需數(shù)據(jù)Recordset Recordset 由一組記錄組成的記錄集由一組記錄組成的記錄集Error Error 訪問數(shù)據(jù)源時(shí)所前往的錯(cuò)誤信息訪問數(shù)據(jù)源時(shí)所前往的錯(cuò)誤信息Parameter Parameter 與命令對(duì)象有關(guān)的參數(shù)與命令對(duì)象有關(guān)的參數(shù)Field Field 記錄集中某個(gè)字段的信息記錄集中某個(gè)字段的信息2 2 運(yùn)用運(yùn)用ADOADO數(shù)據(jù)控件數(shù)據(jù)控件運(yùn)用運(yùn)用ADOADO數(shù)據(jù)控件,必需先經(jīng)過數(shù)據(jù)控件,必需先經(jīng)過 工程工程 | | 部件部件 菜單命菜單命令選項(xiàng)。令選項(xiàng)。6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 選擇選擇Microsoft ADO Da
4、taMicrosoft ADO Data Control 6.0(OLEDB) Control 6.0(OLEDB)將將ADOADO數(shù)據(jù)控件數(shù)據(jù)控件添加到工具箱添加到工具箱在窗體中運(yùn)用在窗體中運(yùn)用ADOADO數(shù)據(jù)控件的方式與數(shù)據(jù)控件的方式與DataData控件類似,使控件類似,使用用ADOADO數(shù)據(jù)控件的數(shù)據(jù)控件的根本屬性根本屬性, ,可以快可以快速地創(chuàng)建與數(shù)據(jù)庫(kù)速地創(chuàng)建與數(shù)據(jù)庫(kù)的銜接。的銜接。n 在程序中運(yùn)用在程序中運(yùn)用ADOADO對(duì)象,必需先為當(dāng)前工程援用對(duì)象,必需先為當(dāng)前工程援用ADOADO的對(duì)象庫(kù)。援用方式是執(zhí)行的對(duì)象庫(kù)。援用方式是執(zhí)行 工程工程 菜單的菜單的 援援用用 命令,啟動(dòng)援用
5、對(duì)話框,在清單中選取命令,啟動(dòng)援用對(duì)話框,在清單中選取MicrosoftActiveX Data Objects 2.0 MicrosoftActiveX Data Objects 2.0 LibraryLibrary選項(xiàng)。選項(xiàng)。6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 1 1ADOADO數(shù)據(jù)控件的根本屬性數(shù)據(jù)控件的根本屬性ConnectionStringConnectionString屬性屬性A D OA D O 控 件 沒 有控 件 沒 有 D a t a b a s e N a m eD a t a b a s e N a m e 屬 性 , 它 運(yùn) 用屬 性 , 它 運(yùn) 用Conn
6、ectionStringConnectionString屬性與數(shù)據(jù)庫(kù)建立銜接。該屬性屬性與數(shù)據(jù)庫(kù)建立銜接。該屬性包含了用于與數(shù)據(jù)源建立銜接的相關(guān)信息。包含了用于與數(shù)據(jù)源建立銜接的相關(guān)信息。 指定翻開客戶端銜接時(shí)運(yùn)用的效力器途徑稱號(hào),僅限于Remote Data ServiceRemoteServer指定翻開客戶端銜接時(shí)運(yùn)用的提供者稱號(hào)。僅限于Remote Data ServiceRemoteProvider指定數(shù)據(jù)源所對(duì)應(yīng)的文件名FileName指定數(shù)據(jù)源的稱號(hào)Provide描畫參數(shù) ConnectionString屬性參數(shù)6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 6.5 ADO6.5 A
7、DO數(shù)據(jù)控件數(shù)據(jù)控件 默許值。CommandText 屬性中的命令類型未知adCmdUnknown將CommandText作為存儲(chǔ)過程名進(jìn)展計(jì)算AdCmdStoredProc將CommandText 作為其列,全部由內(nèi)部生成的 SQL 查詢前往的表格的稱號(hào)進(jìn)展計(jì)算AdCmdTable將CommandText作為命令或存儲(chǔ)過程調(diào)用的文本化定義進(jìn)展計(jì)算AdCmdText說 明Command類型nRecordSourceRecordSource屬性屬性n該屬性確定可訪問的數(shù)據(jù),這些數(shù)據(jù)構(gòu)成記錄集對(duì)象該屬性確定可訪問的數(shù)據(jù),這些數(shù)據(jù)構(gòu)成記錄集對(duì)象RecordsetRecordset。該屬性值可以是數(shù)據(jù)
8、庫(kù)中單個(gè)表名、一個(gè)存儲(chǔ)查。該屬性值可以是數(shù)據(jù)庫(kù)中單個(gè)表名、一個(gè)存儲(chǔ)查詢或者是運(yùn)用詢或者是運(yùn)用SQLSQL查詢言語(yǔ)的查詢字符串。查詢言語(yǔ)的查詢字符串。n ConnectionTimeoutConnectionTimeout屬性屬性n 用于數(shù)據(jù)銜接的超時(shí)設(shè)置,假設(shè)在指定時(shí)間內(nèi)用于數(shù)據(jù)銜接的超時(shí)設(shè)置,假設(shè)在指定時(shí)間內(nèi)銜接不勝利顯示超時(shí)信息。銜接不勝利顯示超時(shí)信息。n MaxRecordsMaxRecords屬性屬性n 定義從一個(gè)查詢中最多能前往的記錄數(shù)。定義從一個(gè)查詢中最多能前往的記錄數(shù)。6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 2 2 ADO ADO數(shù)據(jù)控件的方法和事件數(shù)據(jù)控件的方法和事件AD
9、OADO數(shù)據(jù)控件的方法和事件與數(shù)據(jù)控件的方法和事件與DataData控件的方法和事控件的方法和事件完全一樣。件完全一樣。3 3設(shè)置設(shè)置ADOADO數(shù)據(jù)控件的屬性數(shù)據(jù)控件的屬性下面經(jīng)過運(yùn)用下面經(jīng)過運(yùn)用ADOADO數(shù)據(jù)控件銜接數(shù)據(jù)控件銜接Student.mdbStudent.mdb數(shù)據(jù)數(shù)據(jù)庫(kù)來(lái)闡明庫(kù)來(lái)闡明ADOADO數(shù)據(jù)控件屬性的設(shè)置。數(shù)據(jù)控件屬性的設(shè)置。6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 n 步驟步驟1 1:在窗體上放置:在窗體上放置ADOADO數(shù)據(jù)控件,控件名采用默數(shù)據(jù)控件,控件名采用默許名許名AdodclAdodcl。6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 n 步驟步驟2 2
10、:在:在ADOADO控件按鼠標(biāo)右鍵,選擇控件按鼠標(biāo)右鍵,選擇ADOADO屬性時(shí),屬性時(shí),彈出彈出 屬性頁(yè)屬性頁(yè) 對(duì)話框。對(duì)話框。6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 允許經(jīng)過三種不同允許經(jīng)過三種不同的方式銜接數(shù)據(jù)源的方式銜接數(shù)據(jù)源表示經(jīng)過一個(gè)連表示經(jīng)過一個(gè)連接文件來(lái)完成接文件來(lái)完成運(yùn)用運(yùn)用ODBCODBC數(shù)據(jù)資源稱號(hào)數(shù)據(jù)資源稱號(hào) 可以經(jīng)過可以經(jīng)過下拉式列表框,選擇某個(gè)創(chuàng)建好下拉式列表框,選擇某個(gè)創(chuàng)建好的數(shù)據(jù)源稱號(hào)的數(shù)據(jù)源稱號(hào)(DSN)(DSN),作為數(shù)據(jù)來(lái),作為數(shù)據(jù)來(lái)源對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)進(jìn)展控制源對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)進(jìn)展控制經(jīng)過選項(xiàng)設(shè)置自動(dòng)產(chǎn)生銜接字符串經(jīng)過選項(xiàng)設(shè)置自動(dòng)產(chǎn)生銜接字符串n步驟步驟3 3
11、:采用:采用 運(yùn)用銜接字符串運(yùn)用銜接字符串 方式銜接數(shù)據(jù)源。方式銜接數(shù)據(jù)源。6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 單擊單擊生成生成按鈕,翻開按鈕,翻開數(shù)據(jù)鏈接屬性數(shù)據(jù)鏈接屬性對(duì)話框?qū)υ捒騨步驟步驟3 3:采用:采用 運(yùn)用銜接字符串運(yùn)用銜接字符串 方式銜接數(shù)據(jù)源。方式銜接數(shù)據(jù)源。6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 在在 提供程序提供程序 選項(xiàng)內(nèi)選擇一個(gè)適宜的選項(xiàng)內(nèi)選擇一個(gè)適宜的OLE DBOLE DB數(shù)據(jù)源,數(shù)據(jù)源,Student.mdbStudent.mdb是是AccessAccess數(shù)據(jù)庫(kù),選擇數(shù)據(jù)庫(kù),選擇Microsoft Jet 3.51 OLE DB Provider
12、Microsoft Jet 3.51 OLE DB Provider選項(xiàng)。選項(xiàng)。單擊單擊下下步步按鈕按鈕n步驟步驟3 3:采用:采用 運(yùn)用銜接字符串運(yùn)用銜接字符串 方式銜接數(shù)據(jù)源。方式銜接數(shù)據(jù)源。6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 在在 銜接銜接 選項(xiàng)內(nèi),選項(xiàng)內(nèi),指定數(shù)據(jù)庫(kù)文件,指定數(shù)據(jù)庫(kù)文件,Student.mdbStudent.mdb為保證銜接有效,可單為保證銜接有效,可單擊擊 銜接銜接 選項(xiàng)卡右下方選項(xiàng)卡右下方的的 測(cè)試銜接測(cè)試銜接 按鈕,如按鈕,如果測(cè)試勝利那么封鎖數(shù)據(jù)果測(cè)試勝利那么封鎖數(shù)據(jù)鏈接屬性頁(yè)鏈接屬性頁(yè)n步驟步驟4 4:在記錄源屬性頁(yè)對(duì)話框。:在記錄源屬性頁(yè)對(duì)話框。6
13、.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 在在 命令類型命令類型 下下拉列表框中選擇拉列表框中選擇22adCmdTableadCmdTable選項(xiàng)選項(xiàng)在在 表或存儲(chǔ)過程稱號(hào)表或存儲(chǔ)過程稱號(hào) 下拉式列表框中選擇下拉式列表框中選擇Student.mdbStudent.mdb數(shù)據(jù)庫(kù)中數(shù)據(jù)庫(kù)中的的 根本情況根本情況 表表n完成完成ADOADO數(shù)據(jù)控件的銜接任務(wù)。數(shù)據(jù)控件的銜接任務(wù)。3 3 ADO ADO數(shù)據(jù)控件上新增綁定控件的運(yùn)用數(shù)據(jù)控件上新增綁定控件的運(yùn)用和和ADOADO數(shù)據(jù)控件的綁定控件屬性主要包括數(shù)據(jù)控件的綁定控件屬性主要包括: : DataSource,DataField,DataMembe
14、r,DataFormat DataSource,DataField,DataMember,DataFormatDataSourceDataSource和和DataFieldDataField的銜接功能加強(qiáng)了的銜接功能加強(qiáng)了; ;DataMemberDataMember屬性允許處置多個(gè)數(shù)據(jù)集,從數(shù)據(jù)供應(yīng)屬性允許處置多個(gè)數(shù)據(jù)集,從數(shù)據(jù)供應(yīng)程序提供的幾個(gè)數(shù)據(jù)成員中前往或設(shè)置一個(gè)特定程序提供的幾個(gè)數(shù)據(jù)成員中前往或設(shè)置一個(gè)特定的數(shù)據(jù)成員的數(shù)據(jù)成員; ;DataFormatDataFormat屬性用于指定數(shù)據(jù)內(nèi)容的顯示格式。屬性用于指定數(shù)據(jù)內(nèi)容的顯示格式。6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 6.
15、5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 屬 性 描 述DataSourceDataList, DataCombo 所綁定數(shù)據(jù)控件的名稱 DataList由 DataSource 屬性所指定的記錄集中的一個(gè)字段名稱。這個(gè)字段將用于決定在列表中高亮顯示哪一個(gè)元素。如果作出了新的選擇,則它就是當(dāng)移動(dòng)到一個(gè)新記錄時(shí)所需更新的字段。 RowSource 將用于填充列表的數(shù)據(jù)控件的名稱。 BoundColumn 由 RowSource 屬性所指定的記錄集中的一個(gè)字段名稱。這個(gè)字段必須和將用于更新該列表的DataField 的類型相同。 ListField 由將用于填充該列表的 RowSource 所指定
16、的記錄集中的一個(gè)字段名稱。 例例6.6 6.6 運(yùn)用運(yùn)用ADOADO數(shù)據(jù)控件和數(shù)據(jù)控件和DataGridDataGrid數(shù)據(jù)網(wǎng)格控件閱數(shù)據(jù)網(wǎng)格控件閱讀數(shù)據(jù)庫(kù)讀數(shù)據(jù)庫(kù)Student.mdbStudent.mdb,并使之具有編輯功能。,并使之具有編輯功能。以下圖為具有增、刪、改功能的數(shù)據(jù)網(wǎng)格綁定。以下圖為具有增、刪、改功能的數(shù)據(jù)網(wǎng)格綁定。 6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 標(biāo)有標(biāo)有號(hào)的記錄號(hào)的記錄行表示允許增行表示允許增加新記錄加新記錄n DataGridDataGrid控件運(yùn)用方法控件運(yùn)用方法: :n 需經(jīng)過需經(jīng)過 工程工程| |部件部件 菜單命令選擇菜單命令選擇DataGridDa
17、taGrid控件,控件,6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 將將DataGridDataGrid控件添加控件添加到工具箱到工具箱n DataGridDataGrid控件運(yùn)用方法控件運(yùn)用方法: :n 將將DataGridDataGrid控件放置到窗體上??丶胖玫酱绑w上。n 設(shè)置設(shè)置DataGridDataGrid網(wǎng)格控件的網(wǎng)格控件的DataSourceDataSource屬性為屬性為Adodc1Adodc1,實(shí)現(xiàn)實(shí)現(xiàn)DataGrid1DataGrid1綁定到數(shù)據(jù)控件綁定到數(shù)據(jù)控件Adodc1Adodc1。6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 n DataGridDataGri
18、d控件允許用戶控件允許用戶同時(shí)閱讀或修正多個(gè)記同時(shí)閱讀或修正多個(gè)記錄的數(shù)據(jù)。錄的數(shù)據(jù)。6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 nAllowAddNewAllowAddNew增增nAllowDeleteAllowDelete刪刪nAllowUpdateAllowUpdate改改n修正功能經(jīng)過修正功能經(jīng)過DataGridDataGrid屬屬n 性設(shè)置實(shí)現(xiàn),可以設(shè)置性設(shè)置實(shí)現(xiàn),可以設(shè)置的的n 屬性為:屬性為:n 添加添加DataGridDataGrid網(wǎng)格上顯示的字段,可用鼠標(biāo)右鍵網(wǎng)格上顯示的字段,可用鼠標(biāo)右鍵單擊單擊DataGridDataGrid控件,在彈出的快捷菜單中選擇控件,在彈出的快
19、捷菜單中選擇 檢檢索字段索字段 選項(xiàng)。選項(xiàng)。Visual BasicVisual Basic提示能否交換現(xiàn)有的提示能否交換現(xiàn)有的網(wǎng)格規(guī)劃,單擊網(wǎng)格規(guī)劃,單擊 是是 按鈕就可將表中的字段裝載按鈕就可將表中的字段裝載到到DataGridDataGrid控件中??丶?。6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 n 用鼠標(biāo)右鍵單擊用鼠標(biāo)右鍵單擊DataGridDataGrid控件,在彈出的快捷菜控件,在彈出的快捷菜單中選擇單中選擇 編輯編輯 選項(xiàng),進(jìn)入數(shù)據(jù)網(wǎng)格字段規(guī)劃的編選項(xiàng),進(jìn)入數(shù)據(jù)網(wǎng)格字段規(guī)劃的編輯形狀,此時(shí),當(dāng)鼠標(biāo)指在字段名上時(shí),鼠標(biāo)指針輯形狀,此時(shí),當(dāng)鼠標(biāo)指在字段名上時(shí),鼠標(biāo)指針變成黑色向
20、下箭頭。變成黑色向下箭頭。6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 在該窗體點(diǎn)擊鼠標(biāo)在該窗體點(diǎn)擊鼠標(biāo)右鍵右鍵, ,選擇屬性選項(xiàng)選擇屬性選項(xiàng)可修正字段標(biāo)題或可修正字段標(biāo)題或字段的顯示寬度。字段的顯示寬度。必需運(yùn)用必需運(yùn)用ADOADO數(shù)據(jù)控件進(jìn)展綁定的控件數(shù)據(jù)控件進(jìn)展綁定的控件: :6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 DataListDataList控件控件 DataSource, DataFiled DataSource, DataFiled RowSource, ListFiled RowSource, ListFiled必需運(yùn)用必需運(yùn)用ADOADO數(shù)據(jù)控件進(jìn)展綁定的控件數(shù)據(jù)控件
21、進(jìn)展綁定的控件: :6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 DataCombo控件控件 DataSource, DataFiled RowSource, ListFiled必需運(yùn)用必需運(yùn)用ADOADO數(shù)據(jù)控件進(jìn)展綁定的控件數(shù)據(jù)控件進(jìn)展綁定的控件: :6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 DataReportDataReport控件控件n 在在“工程菜單上,工程菜單上,單擊單擊“添加添加 Data Data EnviromentEnviroment向工向工程中添加設(shè)計(jì)器。程中添加設(shè)計(jì)器。n 假設(shè)設(shè)計(jì)器沒有在假設(shè)設(shè)計(jì)器沒有在 工程工程 菜單上列出,菜單上列出,那么單擊那么單擊 部件部
22、件 。單擊單擊 設(shè)計(jì)器設(shè)計(jì)器 選項(xiàng)選項(xiàng)卡。并單擊卡。并單擊 數(shù)據(jù)環(huán)數(shù)據(jù)環(huán)境境 把設(shè)計(jì)器添加到把設(shè)計(jì)器添加到菜單上。菜單上。 6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 DataReportDataReport控件控件點(diǎn)擊鼠標(biāo)右鍵點(diǎn)擊鼠標(biāo)右鍵, ,出現(xiàn)出現(xiàn)菜單菜單, ,選擇屬性選擇屬性, ,出現(xiàn)出現(xiàn) 數(shù)據(jù)鏈接屬性數(shù)據(jù)鏈接屬性 對(duì)話對(duì)話框框 選擇選擇Microsoft Jet 3.51 Microsoft Jet 3.51 OLE DB ProviderOLE DB Provider,這是為,這是為訪問訪問 Jet Jet 數(shù)據(jù)庫(kù)選擇正確數(shù)據(jù)庫(kù)選擇正確的的 OLE DB OLE DB 提供商提供
23、商 單擊下一步單擊下一步6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 DataReportDataReport控件控件指定數(shù)據(jù)庫(kù)指定數(shù)據(jù)庫(kù)測(cè)試銜接測(cè)試銜接6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 DataReportDataReport控件控件點(diǎn)擊鼠標(biāo)右鍵點(diǎn)擊鼠標(biāo)右鍵, ,出現(xiàn)菜出現(xiàn)菜單單, ,選擇選擇 添加子命令添加子命令,出現(xiàn)出現(xiàn)CommandCommand屬性頁(yè)屬性頁(yè)選擇表選擇表選擇選擇根本情況表根本情況表6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 DataReportDataReport控件控件選擇表選擇表點(diǎn)擊點(diǎn)擊關(guān)聯(lián)關(guān)聯(lián)選擇選擇學(xué)生成果表學(xué)生成果表點(diǎn)擊鼠標(biāo)右鍵點(diǎn)擊鼠標(biāo)右鍵, ,
24、出現(xiàn)菜出現(xiàn)菜單單, ,選擇選擇 添加子命令添加子命令,出現(xiàn)出現(xiàn)CommandCommand屬性頁(yè)屬性頁(yè)6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 DataReportDataReport控件控件父命令來(lái)自父命令來(lái)自Command1Command1兩個(gè)表經(jīng)過學(xué)號(hào)相關(guān)聯(lián)兩個(gè)表經(jīng)過學(xué)號(hào)相關(guān)聯(lián)6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 DataReportDataReport控件控件n在“工程菜單上,單擊“添加 Data Report n假設(shè)不在“工程菜單上,先選擇工程,部件,設(shè)計(jì)器。添加Data Report。6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 DataReportDataReport
25、任務(wù)區(qū)任務(wù)區(qū)資源管理器列表資源管理器列表DataPeportDataPeport需求綁定兩個(gè)屬性需求綁定兩個(gè)屬性6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 點(diǎn)擊鼠標(biāo)右鍵點(diǎn)擊鼠標(biāo)右鍵, ,選選擇插入文本框擇插入文本框點(diǎn)擊鼠標(biāo)右鍵點(diǎn)擊鼠標(biāo)右鍵, ,選擇插入標(biāo)簽選擇插入標(biāo)簽, ,標(biāo)簽標(biāo)簽CAPTION=CAPTION=學(xué)生成果表學(xué)生成果表點(diǎn)擊鼠標(biāo)右鍵點(diǎn)擊鼠標(biāo)右鍵, ,選擇插入標(biāo)簽選擇插入標(biāo)簽文本框兩個(gè)屬性綁定設(shè)置文本框兩個(gè)屬性綁定設(shè)置6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 DataReportDataReport控件控件n 在窗體中添加一個(gè)在窗體中添加一個(gè)CommandCommand控件控件
26、, ,并填寫代碼如下并填寫代碼如下: :n Private Sub Command1_Click() Private Sub Command1_Click()n DataReport1.Show DataReport1.Shown End Sub End Subn 點(diǎn)擊點(diǎn)擊CommandCommand控件那么可顯示報(bào)表控件那么可顯示報(bào)表DataReport1.ShowDataReport1.Show必需運(yùn)用必需運(yùn)用ADOADO數(shù)據(jù)控件進(jìn)展綁定的控件數(shù)據(jù)控件進(jìn)展綁定的控件: :6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 MSChart控件控件 DataSource根本情況表根本情況表n SQL
27、SQL中運(yùn)用中運(yùn)用SELECTSELECT語(yǔ)句實(shí)現(xiàn)查詢。語(yǔ)句實(shí)現(xiàn)查詢。n DataData控件的控件的RecordSourceRecordSource屬性可以是數(shù)據(jù)表名屬性可以是數(shù)據(jù)表名; ;n RecordSourceRecordSource屬性可以是數(shù)據(jù)表中的某些行或多屬性可以是數(shù)據(jù)表中的某些行或多個(gè)數(shù)據(jù)表中的數(shù)據(jù)組合。直接在個(gè)數(shù)據(jù)表中的數(shù)據(jù)組合。直接在DataData控件的控件的RecordSourceRecordSource屬性欄中輸入屬性欄中輸入SQLSQL,或在代碼中經(jīng)過,或在代碼中經(jīng)過S Q LS Q L 語(yǔ) 句 將 選 擇 的 記 錄 集 賦 給 數(shù) 據(jù) 控 件 的語(yǔ) 句 將
28、選 擇 的 記 錄 集 賦 給 數(shù) 據(jù) 控 件 的RecordSourceRecordSource屬性。屬性。6.6 VB6.6 VB中的中的SQLSQL實(shí)現(xiàn)實(shí)現(xiàn) 6.6 VB6.6 VB中中SQLSQL的實(shí)現(xiàn)的實(shí)現(xiàn) n 例例6.8 6.8 運(yùn)用運(yùn)用SQLSQL語(yǔ)句實(shí)現(xiàn)查找功能,顯示某專語(yǔ)句實(shí)現(xiàn)查找功能,顯示某專業(yè)的學(xué)生記錄。業(yè)的學(xué)生記錄。n 運(yùn)用運(yùn)用SQLSQL語(yǔ)句查詢,命令按鈕語(yǔ)句查詢,命令按鈕Command5_ClickCommand5_Click事件代碼如下:事件代碼如下:6.6 VB6.6 VB中的中的SQLSQL實(shí)現(xiàn)實(shí)現(xiàn) 6.6 VB6.6 VB中的中的SQLSQL實(shí)現(xiàn)實(shí)現(xiàn) Pri
29、vate Sub Command5_Click() Dim mzy As String mzy = InputBox$(請(qǐng)輸入專業(yè), 查找窗) Data1.RecordSource = Select * From 根本_情況 Where 專業(yè) = & mzy & Data1.Refresh If Data1.Recordset.EOF Then MsgBox 無(wú)此專業(yè)!, , 提示 Data1.RecordSource = 根本情況 Data1.Refresh End IfEnd Sub短語(yǔ)指定數(shù)據(jù)來(lái)源;短語(yǔ)指定數(shù)據(jù)來(lái)源;Where Where 專業(yè)專業(yè) = & mzy
30、 & = & mzy & 短語(yǔ)構(gòu)成查詢條件,短語(yǔ)構(gòu)成查詢條件,用于過濾表中的記錄用于過濾表中的記錄對(duì)于未查找到記錄情況的處置對(duì)于未查找到記錄情況的處置激活激活RecordSourceRecordSource的變化的變化6.6 VB6.6 VB中的中的SQLSQL實(shí)現(xiàn)實(shí)現(xiàn) Private Sub Command5_Click() Dim mzy As String mzy = InputBox$(請(qǐng)輸入專業(yè), 查找窗) Data1.RecordSource = Select * From 根本_情況 Where 專業(yè) = & mzy & Data1.Ref
31、resh If Data1.Recordset.EOF Then MsgBox 無(wú)此專業(yè)!, , 提示 Data1.RecordSource = 根本情況 Data1.Refresh End IfEnd Sub假設(shè)運(yùn)用模糊查詢語(yǔ)句可改寫如上假設(shè)運(yùn)用模糊查詢語(yǔ)句可改寫如上專業(yè)專業(yè) like like * * & mzy & & mzy & * *例例6.9 6.9 用用SQLSQL語(yǔ)句從語(yǔ)句從Student.mdbStudent.mdb數(shù)據(jù)庫(kù)的兩個(gè)數(shù)據(jù)數(shù)據(jù)庫(kù)的兩個(gè)數(shù)據(jù)表中選擇數(shù)據(jù)構(gòu)成記錄集,并經(jīng)過數(shù)據(jù)控件閱讀記表中選擇數(shù)據(jù)構(gòu)成記錄集,并經(jīng)過數(shù)據(jù)控件閱讀記錄集。錄集
32、。6.6 VB6.6 VB中的中的SQLSQL實(shí)現(xiàn)實(shí)現(xiàn) n DataData控件的屬性設(shè)置控件的屬性設(shè)置n DatabaseNameDatabaseName屬性屬性:Student.mdb:Student.mdb,n RecordSourceRecordSource屬性屬性: :空缺空缺n 各文本框的屬性各文本框的屬性DataSource=Data1DataSource=Data1,DataFieldDataField屬屬性分別設(shè)置為學(xué)號(hào)、姓名、課程、成果,而照片性分別設(shè)置為學(xué)號(hào)、姓名、課程、成果,而照片字段綁定圖形框。字段綁定圖形框。n 本例要求從兩個(gè)實(shí)表中選擇字段構(gòu)成虛表。本例要求從兩個(gè)實(shí)
33、表中選擇字段構(gòu)成虛表。n 從根本情況中選擇學(xué)生的學(xué)號(hào)、姓名、照片,從根本情況中選擇學(xué)生的學(xué)號(hào)、姓名、照片,n 從學(xué)生成果表中選擇該學(xué)生的課程和成果來(lái)構(gòu)成從學(xué)生成果表中選擇該學(xué)生的課程和成果來(lái)構(gòu)成記錄集。記錄集。6.6 VB6.6 VB中的中的SQLSQL實(shí)現(xiàn)實(shí)現(xiàn) n實(shí)現(xiàn)方法:在實(shí)現(xiàn)方法:在Form_ LoadForm_ Load事件中運(yùn)用事件中運(yùn)用SQLSQL語(yǔ)句語(yǔ)句6.6 VB6.6 VB中的中的SQLSQL實(shí)現(xiàn)實(shí)現(xiàn) 例例6.10 6.10 用用SQLSQL指令按專業(yè)統(tǒng)計(jì)指令按專業(yè)統(tǒng)計(jì)Student.mdbStudent.mdb數(shù)據(jù)庫(kù)中各數(shù)據(jù)庫(kù)中各專業(yè)的人數(shù),并統(tǒng)計(jì)平均成果前專業(yè)的人數(shù),并統(tǒng)
34、計(jì)平均成果前5 5名的學(xué)生,要求按以名的學(xué)生,要求按以下圖所示方式輸出。下圖所示方式輸出。6.6 VB6.6 VB中的中的SQLSQL實(shí)現(xiàn)實(shí)現(xiàn) n 窗體中的控件為窗體中的控件為DataData控件和網(wǎng)格控件控件和網(wǎng)格控件MSFlexGrid1MSFlexGrid1。n Data1Data1的的DatabaseNameDatabaseName屬性屬性:Student.mdb;:Student.mdb;n RecordSourceRecordSource屬性屬性: :空缺空缺n 網(wǎng)格控件的網(wǎng)格控件的DataSource:Data1DataSource:Data1。n 分組查詢:為了統(tǒng)計(jì)各專業(yè)的人數(shù)
35、,對(duì)根本情況分組查詢:為了統(tǒng)計(jì)各專業(yè)的人數(shù),對(duì)根本情況表內(nèi)的記錄按專業(yè)分組。運(yùn)用表內(nèi)的記錄按專業(yè)分組。運(yùn)用Group ByGroup By專業(yè)專業(yè) 語(yǔ)語(yǔ)句句, ,將同一專業(yè)的一切記錄合為一組新記錄。將同一專業(yè)的一切記錄合為一組新記錄。n 命名別名:要記錄統(tǒng)計(jì)結(jié)果,需求構(gòu)造一個(gè)新的命名別名:要記錄統(tǒng)計(jì)結(jié)果,需求構(gòu)造一個(gè)新的輸出字段,運(yùn)用輸出字段,運(yùn)用SQLSQL的統(tǒng)計(jì)函數(shù)的統(tǒng)計(jì)函數(shù)Count()Count()作為輸出作為輸出字段,它按專業(yè)分組創(chuàng)建統(tǒng)計(jì)值。由于在表中沒字段,它按專業(yè)分組創(chuàng)建統(tǒng)計(jì)值。由于在表中沒有表示該內(nèi)容的字段名有表示該內(nèi)容的字段名, ,可用可用AsAs短語(yǔ)命名一個(gè)別名短語(yǔ)命名一個(gè)
36、別名6.6 VB6.6 VB中的中的SQLSQL實(shí)現(xiàn)實(shí)現(xiàn) 按專業(yè)統(tǒng)計(jì)人數(shù)按專業(yè)統(tǒng)計(jì)人數(shù) 按鈕的指令代碼為:按鈕的指令代碼為:6.6 VB6.6 VB中的中的SQLSQL實(shí)現(xiàn)實(shí)現(xiàn) n如需求如需求 按平均成果統(tǒng)計(jì)前按平均成果統(tǒng)計(jì)前5 5名名 按鈕指令代碼為按鈕指令代碼為: :6.6 VB6.6 VB中的中的SQLSQL實(shí)現(xiàn)實(shí)現(xiàn) Avg(Avg(成果成果) )計(jì)算該學(xué)生的平均成果計(jì)算該學(xué)生的平均成果Order By Avg(Order By Avg(成果成果) Desc) Desc按平均成果的降序陳列數(shù)據(jù)按平均成果的降序陳列數(shù)據(jù)Group By Group By 學(xué)號(hào)學(xué)號(hào) 將同一學(xué)生的將同一學(xué)生的各
37、門課程的記錄合并成一條記錄各門課程的記錄合并成一條記錄Top 5Top 5短語(yǔ)前往最前面的短語(yǔ)前往最前面的5 5條記錄條記錄n 恢復(fù)原表內(nèi)容恢復(fù)原表內(nèi)容 按鈕的指令代碼為:按鈕的指令代碼為:6.6 VB6.6 VB中的中的SQLSQL實(shí)現(xiàn)實(shí)現(xiàn) 例例6.116.11運(yùn)用運(yùn)用ADOADO數(shù)據(jù)控件,用數(shù)據(jù)控件,用SQLSQL語(yǔ)句從語(yǔ)句從Student.mdbStudent.mdb數(shù)數(shù)據(jù)庫(kù)的兩個(gè)數(shù)據(jù)表中選擇數(shù)據(jù)構(gòu)成記錄集。據(jù)庫(kù)的兩個(gè)數(shù)據(jù)表中選擇數(shù)據(jù)構(gòu)成記錄集。6.6 VB6.6 VB中的中的SQLSQL實(shí)現(xiàn)實(shí)現(xiàn) n 運(yùn)用運(yùn)用ADOADO數(shù)據(jù)控件數(shù)據(jù)控件Adodc1Adodc1;n 各文本框的各文本框的
38、Datasource=Adodc1Datasource=Adodc1,DataFieldDataField屬屬性分別設(shè)置為學(xué)號(hào)、姓名、課程、成果,而字性分別設(shè)置為學(xué)號(hào)、姓名、課程、成果,而字段照片綁定圖形框。段照片綁定圖形框。n ADOADO數(shù)據(jù)控件的數(shù)據(jù)源采用銜接字符串的方式數(shù)據(jù)控件的數(shù)據(jù)源采用銜接字符串的方式銜接;銜接;n 屬性設(shè)置為與數(shù)據(jù)源銜接的相關(guān)信息,數(shù)據(jù)鏈屬性設(shè)置為與數(shù)據(jù)源銜接的相關(guān)信息,數(shù)據(jù)鏈接屬性設(shè)置與接屬性設(shè)置與Student.mdbStudent.mdb的數(shù)據(jù)銜接。的數(shù)據(jù)銜接。6.6 VB6.6 VB中的中的SQLSQL實(shí)現(xiàn)實(shí)現(xiàn) n記錄源設(shè)置如下記錄源設(shè)置如下6.6 VB6
39、.6 VB中的中的SQLSQL實(shí)現(xiàn)實(shí)現(xiàn) select select 學(xué)生成果表學(xué)生成果表. .* *, ,根本情況根本情況. .姓名姓名, ,根本情況根本情況. .照片照片 from from 學(xué)生成果表學(xué)生成果表, ,根本情況根本情況 where where 學(xué)生成果表學(xué)生成果表. .學(xué)號(hào)學(xué)號(hào)= =根本情況根本情況. .學(xué)號(hào)學(xué)號(hào)例例6.12 6.12 設(shè)計(jì)一個(gè)窗體,計(jì)算設(shè)計(jì)一個(gè)窗體,計(jì)算Student.mdbStudent.mdb數(shù)據(jù)庫(kù)內(nèi)數(shù)據(jù)庫(kù)內(nèi)學(xué)生成果表中每個(gè)學(xué)生的平均成果,產(chǎn)生姓名、平均學(xué)生成果表中每個(gè)學(xué)生的平均成果,產(chǎn)生姓名、平均成果和最低成果三項(xiàng)數(shù)據(jù),按平均成果降序陳列數(shù)據(jù),成果和最
40、低成果三項(xiàng)數(shù)據(jù),按平均成果降序陳列數(shù)據(jù),并用該數(shù)據(jù)作圖。并用該數(shù)據(jù)作圖。6.6 VB6.6 VB中的中的SQLSQL實(shí)現(xiàn)實(shí)現(xiàn) n 繪制圖表運(yùn)用繪制圖表運(yùn)用MsChartMsChart。MsChartMsChart控件需求經(jīng)過控件需求經(jīng)過 工工程程 | | 部件部件 命令,將命令,將MSChartMSChart控件添加到工具箱。控件添加到工具箱。n MSChart1MSChart1的的DataSourceDataSource綁定綁定:Adodc1:Adodc1n 將將AdodclAdodcl的的RecordSourceRecordSource屬性設(shè)置為屬性設(shè)置為SQLSQL語(yǔ)句:語(yǔ)句:6.6 V
41、B6.6 VB中的中的SQLSQL實(shí)現(xiàn)實(shí)現(xiàn) Select Select 根本情況根本情況. .姓名姓名,Avg(,Avg(成果成果) As ) As 平均平均成果成果,Min(,Min(成果成果) As ) As 最低成果最低成果 From From 學(xué)生成果表學(xué)生成果表, ,根本情況根本情況 Where Where 學(xué)生成果表學(xué)生成果表. .學(xué)號(hào)學(xué)號(hào)= =根本情況根本情況. .學(xué)號(hào)學(xué)號(hào) Group By Group By 姓名姓名 Order By Avg(Order By Avg(成果成果) Desc) Descn 學(xué)生成果表中沒有平均成果和最低成果這兩項(xiàng)數(shù)學(xué)生成果表中沒有平均成果和最低成
42、果這兩項(xiàng)數(shù)據(jù),在據(jù),在SELECTSELECT子句中運(yùn)用統(tǒng)計(jì)函數(shù)子句中運(yùn)用統(tǒng)計(jì)函數(shù)Avg ()Avg ()和和Min()Min()產(chǎn)生;產(chǎn)生;n 學(xué)生成果表中沒有姓名字段,故需求多表查詢,學(xué)生成果表中沒有姓名字段,故需求多表查詢,經(jīng)過條件經(jīng)過條件 根本情況根本情況. .學(xué)號(hào)學(xué)號(hào)= =學(xué)生成果表學(xué)生成果表. .學(xué)號(hào)學(xué)號(hào) 從根從根本情況表獲取。本情況表獲取。n Group By Group By 姓名姓名 可將同一學(xué)生的記錄合并成一可將同一學(xué)生的記錄合并成一條新記錄。條新記錄。6.6 VB6.6 VB中的中的SQLSQL實(shí)現(xiàn)實(shí)現(xiàn) n 在在C CS S構(gòu)造中用構(gòu)造中用ODBCODBC與數(shù)據(jù)庫(kù)銜接和數(shù)
43、據(jù)操作。與數(shù)據(jù)庫(kù)銜接和數(shù)據(jù)操作。n 例例6.13 6.13 運(yùn)用運(yùn)用ADOADO數(shù)據(jù)控件和數(shù)據(jù)控件和ODBC ODBC 技術(shù),設(shè)計(jì)一技術(shù),設(shè)計(jì)一個(gè)簡(jiǎn)單窗體,顯示個(gè)簡(jiǎn)單窗體,顯示Student.mdbStudent.mdb數(shù)據(jù)庫(kù)的根本情數(shù)據(jù)庫(kù)的根本情況表。況表。6.7 VB6.7 VB中運(yùn)用中運(yùn)用ODBC ODBC 6.7 VB6.7 VB中運(yùn)用中運(yùn)用ODBC ODBC n 步驟步驟1 1:在窗體上放置:在窗體上放置ADOADO數(shù)據(jù)控件,控件名采用默數(shù)據(jù)控件,控件名采用默許名許名AdodclAdodcl。6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 n 步驟步驟2 2:在:在ADOADO控件按鼠
44、標(biāo)右鍵,選擇控件按鼠標(biāo)右鍵,選擇ADOADO屬性時(shí),屬性時(shí),彈出彈出 屬性頁(yè)屬性頁(yè) 對(duì)話框。對(duì)話框。6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 運(yùn)用運(yùn)用ODBCODBC數(shù)據(jù)資源稱號(hào)數(shù)據(jù)資源稱號(hào) 可以經(jīng)過可以經(jīng)過下拉式列表框,選擇某個(gè)創(chuàng)建好下拉式列表框,選擇某個(gè)創(chuàng)建好的數(shù)據(jù)源稱號(hào)的數(shù)據(jù)源稱號(hào)(DSN)(DSN),作為數(shù)據(jù)來(lái),作為數(shù)據(jù)來(lái)源對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)進(jìn)展控制源對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)進(jìn)展控制n步驟步驟3 3:在創(chuàng)建新數(shù)據(jù)源對(duì)話框:在創(chuàng)建新數(shù)據(jù)源對(duì)話框, ,選擇數(shù)據(jù)源選擇數(shù)據(jù)源6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 只需創(chuàng)建者能訪只需創(chuàng)建者能訪問的數(shù)據(jù)庫(kù)文件問的數(shù)據(jù)庫(kù)文件登錄該機(jī)器的任何用戶登錄該機(jī)器的
45、任何用戶都能訪問的數(shù)據(jù)庫(kù)文件都能訪問的數(shù)據(jù)庫(kù)文件一切用戶均可以訪一切用戶均可以訪問的數(shù)據(jù)庫(kù)文件問的數(shù)據(jù)庫(kù)文件數(shù)據(jù)源名就是系統(tǒng)知道的數(shù)據(jù)庫(kù)文件名。數(shù)據(jù)源名數(shù)據(jù)源名就是系統(tǒng)知道的數(shù)據(jù)庫(kù)文件名。數(shù)據(jù)源名只需生成一次,以后任何運(yùn)用程序都可以運(yùn)用。如只需生成一次,以后任何運(yùn)用程序都可以運(yùn)用。如果系統(tǒng)中沒有數(shù)據(jù)源名,那么需生成新的數(shù)據(jù)源名果系統(tǒng)中沒有數(shù)據(jù)源名,那么需生成新的數(shù)據(jù)源名n步驟步驟4 4:在創(chuàng)建新數(shù)據(jù)源對(duì)話框:在創(chuàng)建新數(shù)據(jù)源對(duì)話框, ,選擇驅(qū)動(dòng)器選擇驅(qū)動(dòng)器6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 選擇選擇Microsoft Access DriverMicrosoft Access Driv
46、ern 步驟步驟5 5:在:在 屬性頁(yè)屬性頁(yè) 對(duì)話框?qū)υ捒? ,選擇運(yùn)用選擇運(yùn)用ODBCODBC數(shù)據(jù)資源數(shù)據(jù)資源稱號(hào)稱號(hào)6.5 ADO6.5 ADO數(shù)據(jù)控件數(shù)據(jù)控件 運(yùn)用運(yùn)用ODBCODBC數(shù)據(jù)資源稱號(hào)數(shù)據(jù)資源稱號(hào) 可以經(jīng)過可以經(jīng)過下拉式列表框,選擇某個(gè)創(chuàng)建好下拉式列表框,選擇某個(gè)創(chuàng)建好的數(shù)據(jù)源稱號(hào)的數(shù)據(jù)源稱號(hào)(DSN)(DSN),作為數(shù)據(jù)來(lái),作為數(shù)據(jù)來(lái)源對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)進(jìn)展控制源對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)進(jìn)展控制 6.7 VB6.7 VB中運(yùn)用中運(yùn)用ODBC ODBC n步驟6:?jiǎn)螕簟巴瓿砂粹o,生成數(shù)據(jù)源。指定的Access數(shù)據(jù)庫(kù)賦予新建的數(shù)據(jù)源。出如今ODBC Microsoft Access 安裝窗口中,
47、操作步驟如下:設(shè)置數(shù)據(jù)源名為設(shè)置數(shù)據(jù)源名為Student1Student1指定一個(gè)指定一個(gè)AccessAccess數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)Student.mdbStudent.mdb賦予新建的數(shù)據(jù)源賦予新建的數(shù)據(jù)源Student1Student1n步驟步驟6 6:展開下拉清單,并選擇:展開下拉清單,并選擇student1student1數(shù)據(jù)源。數(shù)據(jù)源。6.7 VB6.7 VB中運(yùn)用中運(yùn)用ODBC ODBC student1student1數(shù)據(jù)源曾經(jīng)注冊(cè)到系統(tǒng)上,數(shù)據(jù)源曾經(jīng)注冊(cè)到系統(tǒng)上,不用再次生成。它會(huì)自動(dòng)出如今不用再次生成。它會(huì)自動(dòng)出如今ADOADO數(shù)據(jù)控件屬性頁(yè)的數(shù)據(jù)控件屬性頁(yè)的 運(yùn)用運(yùn)用ODBCOD
48、BC數(shù)據(jù)資數(shù)據(jù)資源稱號(hào)源稱號(hào) 下拉清單中下拉清單中例例6.14 ADO6.14 ADO數(shù)據(jù)控件運(yùn)用本人的高級(jí)約束數(shù)據(jù)控件,數(shù)據(jù)控件運(yùn)用本人的高級(jí)約束數(shù)據(jù)控件,即即DataListDataList和和DataComboDataCombo控件??丶?。6.7 VB6.7 VB中運(yùn)用中運(yùn)用ODBC ODBC DataListDataListDataComboDataComboDataComboDataCombo控件屬性設(shè)置控件屬性設(shè)置 DataSource DataSourceAdodc1, DataFiledAdodc1, DataFiled出生年月出生年月 RowSource= Adodc1 Ro
49、wSource= Adodc1,ListFiledListFiled出生年月出生年月DataListDataList控件屬性設(shè)置控件屬性設(shè)置 RowSource= Adodc1 RowSource= Adodc1,ListField=ListField=學(xué)號(hào)。學(xué)號(hào)。6.7 VB6.7 VB中運(yùn)用中運(yùn)用ODBC ODBC DataList DataList控件控件 vRowSource, ListFiled vRowSource, ListFiled DataCombo控件控件 DataSource,DataFiled,ListFiled設(shè)置下拉菜單中的字段設(shè)置下拉菜單中的字段設(shè)置文本中顯示的字
50、段設(shè)置文本中顯示的字段n DataListDataList控件中所選的學(xué)號(hào)對(duì)約束數(shù)據(jù)控件沒有控件中所選的學(xué)號(hào)對(duì)約束數(shù)據(jù)控件沒有影響。如要在影響。如要在DataListDataList清單中每次選擇另一學(xué)號(hào)清單中每次選擇另一學(xué)號(hào)時(shí),同時(shí)挪動(dòng)時(shí),同時(shí)挪動(dòng)ADOADO數(shù)據(jù)控件,需求參與一些代碼:數(shù)據(jù)控件,需求參與一些代碼:6.7 VB6.7 VB中運(yùn)用中運(yùn)用ODBC ODBC Private Sub DataList1_Click() Adodc1.Recordset.Bookmark =_ DataList1.SelectedItem End Sub 前往一個(gè)值,包含前往一個(gè)值,包含 DataLi
51、st 控件控件中選中的記錄的書簽。中選中的記錄的書簽。6.5.5 ADO6.5.5 ADO對(duì)象編程對(duì)象編程 6.5.5 ADO6.5.5 ADO對(duì)象編程對(duì)象編程 一一 .ADO .ADO對(duì)象對(duì)象( (一一)ADO)ADO對(duì)象引見對(duì)象引見ADOADO是是ActiveX Data ObiectActiveX Data Obiect的縮寫,是建立在的縮寫,是建立在OLE OLE DBDB之上的高層數(shù)據(jù)庫(kù)訪問技術(shù)。之上的高層數(shù)據(jù)庫(kù)訪問技術(shù)。ADOADO被設(shè)計(jì)用來(lái)被設(shè)計(jì)用來(lái)同新的數(shù)據(jù)訪問層同新的數(shù)據(jù)訪問層OLE DB ProviderOLE DB Provider一同協(xié)同任一同協(xié)同任務(wù),以提供通用數(shù)據(jù)訪
52、問務(wù),以提供通用數(shù)據(jù)訪問(Universal Data (Universal Data Access)Access)。OLE DBOLE DB是一個(gè)低層的數(shù)據(jù)訪問接口,是一個(gè)低層的數(shù)據(jù)訪問接口,用它可以訪問各種數(shù)據(jù)源,包括傳統(tǒng)的關(guān)系型數(shù)用它可以訪問各種數(shù)據(jù)源,包括傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù),以及電子郵件系統(tǒng)及自定義的商業(yè)對(duì)象據(jù)庫(kù),以及電子郵件系統(tǒng)及自定義的商業(yè)對(duì)象. .6.5.5 ADO6.5.5 ADO對(duì)象編程對(duì)象編程 ( (二二)ADO)ADO對(duì)象最根本的操作流程:對(duì)象最根本的操作流程:初始化初始化COMCOM庫(kù),引入庫(kù),引入ADOADO庫(kù)定義文件:庫(kù)定義文件:用用ConnectionConnec
53、tion對(duì)象銜接數(shù)據(jù)庫(kù);對(duì)象銜接數(shù)據(jù)庫(kù);利用建立好的銜接,經(jīng)過利用建立好的銜接,經(jīng)過ConnectionConnection、CommandCommand對(duì)象對(duì)象執(zhí)行執(zhí)行SQLSQL命令,或利用命令,或利用RecordsetRecordset對(duì)象獲得結(jié)果記對(duì)象獲得結(jié)果記錄集進(jìn)展查詢、處置;錄集進(jìn)展查詢、處置;運(yùn)用終了后封鎖銜接釋放對(duì)象。運(yùn)用終了后封鎖銜接釋放對(duì)象。6.5.5 ADO6.5.5 ADO對(duì)象編程對(duì)象編程 Sub ConnectionExample()Sub ConnectionExample() Dim cnn as ADODB.connection Dim cnn as ADOD
54、B.connection Set cnn=new ADODB.connection Set cnn=new ADODB.connection 經(jīng)過經(jīng)過ODBC DSNODBC DSN翻開數(shù)據(jù)庫(kù)翻開數(shù)據(jù)庫(kù) cnn.open pubs,sa, cnn.open pubs,sa, 檢查能否勝利建立銜接對(duì)象檢查能否勝利建立銜接對(duì)象 if cnn.state=adStateOpen then if cnn.state=adStateOpen then msgbox Welcome to pubs! msgbox Welcome to pubs! else else msgbox Sorry,no pub
55、s! msgbox Sorry,no pubs! end end 封鎖銜接對(duì)象封鎖銜接對(duì)象 cnn.close cnn.closeEnd sub End sub 運(yùn)用運(yùn)用 Open Open 方法建立到數(shù)據(jù)源的物理銜接,方法建立到數(shù)據(jù)源的物理銜接,pubspubs是是SQL Server SQL Server 安裝附帶的數(shù)據(jù)庫(kù),安裝附帶的數(shù)據(jù)庫(kù),sasa為為system administrator system administrator 運(yùn)用運(yùn)用 Close Close 方法切斷其方法切斷其到數(shù)據(jù)源的物理銜接到數(shù)據(jù)源的物理銜接指示對(duì)象是翻開的指示對(duì)象是翻開的6.5.5 ADO6.5.5 AD
56、O對(duì)象編程對(duì)象編程 Set Set 語(yǔ)句語(yǔ)句將對(duì)象援用賦給變量或?qū)傩?。語(yǔ)法將對(duì)象援用賦給變量或?qū)傩?。語(yǔ)法: :Set objectvar = New objectexpression | Set objectvar = New objectexpression | NothingNothing可選的。斷絕 objectvar 與任何指定對(duì)象的關(guān)聯(lián)。Nothing 必需的。由對(duì)象名,所聲明的一樣對(duì)象類型的其它變量,或者前往一樣對(duì)象類型的函數(shù)或方法所組成的表達(dá)式。 objectexpression 可選的。通常在聲明時(shí)運(yùn)用 New,以便可以隱式創(chuàng)建對(duì)象。假設(shè) New 與 Set 一同運(yùn)用,那么將創(chuàng)
57、建該類的一個(gè)新實(shí)例。new必需的。變量或?qū)傩缘姆Q號(hào)。 objectvar 6.5.5 ADO6.5.5 ADO對(duì)象編程對(duì)象編程 聲明對(duì)象變量聲明對(duì)象變量聲明對(duì)象變量的方法和聲明其它變量一樣,要用聲明對(duì)象變量的方法和聲明其它變量一樣,要用 Dim Dim、ReDimReDim、StaticStatic、Private Private 和和 Public Public。僅有的不同在。僅有的不同在于可選的于可選的 New New 關(guān)鍵字和關(guān)鍵字和 Class Class 參數(shù)。語(yǔ)法如下:參數(shù)。語(yǔ)法如下: Dim | ReDim | Static | Private | Public Dim | Re
58、Dim | Static | Private | Public variable As New classvariable As New class例如:例如:Dim cnn as ADODB.connectionDim cnn as ADODB.connection Set cnn = New ADODB.Connection Set cnn = New ADODB.Connection例如:例如:Dim cnn As New ADODB.ConnectionDim cnn As New ADODB.ConnectionNew New 關(guān)鍵字為可選項(xiàng)??呻[式地創(chuàng)建對(duì)象的關(guān)鍵字。假關(guān)鍵字為可選
59、項(xiàng)??呻[式地創(chuàng)建對(duì)象的關(guān)鍵字。假設(shè)運(yùn)用設(shè)運(yùn)用 New New 來(lái)聲明對(duì)象變量,那么在第一次援用該來(lái)聲明對(duì)象變量,那么在第一次援用該變量時(shí)將新建該對(duì)象的實(shí)例,因此不用運(yùn)用變量時(shí)將新建該對(duì)象的實(shí)例,因此不用運(yùn)用 Set Set 語(yǔ)語(yǔ)句來(lái)給該對(duì)象援用賦值句來(lái)給該對(duì)象援用賦值 兩條語(yǔ)句等價(jià)于兩條語(yǔ)句等價(jià)于下面一條語(yǔ)句下面一條語(yǔ)句Open Open 方法方法 (ADO Connection) (ADO Connection)功能:翻開到數(shù)據(jù)源的銜接。功能:翻開到數(shù)據(jù)源的銜接。語(yǔ)法語(yǔ)法connection.Open ConnectionString, UserID, connection.Open Con
60、nectionString, UserID, Password, OpenOptionsPassword, OpenOptions以下參數(shù)均為可選項(xiàng)以下參數(shù)均為可選項(xiàng)ConnectionStringConnectionString :包含銜接信息的字符串。:包含銜接信息的字符串。UserIDUserID :包含建立銜接時(shí)所運(yùn)用的用戶稱號(hào)。:包含建立銜接時(shí)所運(yùn)用的用戶稱號(hào)。PasswordPassword :字符串,包含建立銜接時(shí)所用密碼。:字符串,包含建立銜接時(shí)所用密碼。OpenOptionsOpenOptions :ConnectOptionEnum ConnectOptionEnum 值。假設(shè)設(shè)置為值。假設(shè)設(shè)置為 adConnectAsyncadConnectAsync,那么異步翻開銜接。假設(shè)設(shè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)絕緣制品市場(chǎng)十三五規(guī)劃與投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)紅木市場(chǎng)競(jìng)爭(zhēng)格局及發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)精密減速器市場(chǎng)發(fā)展現(xiàn)狀及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)碲行業(yè)運(yùn)行狀況及發(fā)展趨勢(shì)分析報(bào)告
- 2025年遼寧省安全員C證考試(專職安全員)題庫(kù)附答案
- 2025-2030年中國(guó)皮帶輸送機(jī)市場(chǎng)運(yùn)行狀況及發(fā)展前景分析報(bào)告
- 2025-2030年中國(guó)電解銅行業(yè)發(fā)展?jié)摿σ?guī)劃研究報(bào)告
- 重慶郵電大學(xué)《電腦輔助設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 成都信息工程大學(xué)《藝用人體解剖學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 泰山學(xué)院《財(cái)政政策與貨幣政策》2023-2024學(xué)年第二學(xué)期期末試卷
- 義務(wù)教育物理課程標(biāo)準(zhǔn)(2022年版word版)
- 研學(xué)旅行概論教學(xué)課件匯總完整版電子教案
- 12月腹痛護(hù)理常規(guī)
- 控股集團(tuán)公司組織架構(gòu)圖.docx
- 高爐煤氣安全知識(shí)的培訓(xùn)
- 2008 年全國(guó)高校俄語(yǔ)專業(yè)四級(jí)水平測(cè)試試卷
- 需求供給與均衡價(jià)格PPT課件
- 最常用2000個(gè)英語(yǔ)單詞_(全部標(biāo)有注釋)字母排序
- 在銀行大零售業(yè)務(wù)工作會(huì)議上的講話講解學(xué)習(xí)
- 古代傳說中的藝術(shù)形象-
- 水電站大壩土建安裝工程懸臂模板施工手冊(cè)
評(píng)論
0/150
提交評(píng)論