第7章數(shù)據(jù)庫(kù)訪問(wèn)ppt課件_第1頁(yè)
第7章數(shù)據(jù)庫(kù)訪問(wèn)ppt課件_第2頁(yè)
第7章數(shù)據(jù)庫(kù)訪問(wèn)ppt課件_第3頁(yè)
第7章數(shù)據(jù)庫(kù)訪問(wèn)ppt課件_第4頁(yè)
第7章數(shù)據(jù)庫(kù)訪問(wèn)ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第7 7章章 數(shù)據(jù)庫(kù)訪問(wèn)數(shù)據(jù)庫(kù)訪問(wèn)7.1 7.1 網(wǎng)絡(luò)數(shù)據(jù)庫(kù)概述網(wǎng)絡(luò)數(shù)據(jù)庫(kù)概述7.2 ODBC7.2 ODBC數(shù)據(jù)源數(shù)據(jù)源 7.3 ADO7.3 ADO對(duì)象對(duì)象 7.4 7.4 數(shù)據(jù)庫(kù)訪問(wèn)數(shù)據(jù)庫(kù)訪問(wèn)7.5 7.5 綜合舉例綜合舉例 7.1 7.1 網(wǎng)絡(luò)數(shù)據(jù)庫(kù)概述網(wǎng)絡(luò)數(shù)據(jù)庫(kù)概述 ODBC ODBC是銜接數(shù)據(jù)庫(kù)的通用驅(qū)動(dòng)程序,是由是銜接數(shù)據(jù)庫(kù)的通用驅(qū)動(dòng)程序,是由微軟主導(dǎo)的數(shù)據(jù)庫(kù)銜接規(guī)范,適用環(huán)境也以微微軟主導(dǎo)的數(shù)據(jù)庫(kù)銜接規(guī)范,適用環(huán)境也以微軟的系統(tǒng)最為成熟。在軟的系統(tǒng)最為成熟。在UNIXUNIX系統(tǒng)中,通常要運(yùn)系統(tǒng)中,通常要運(yùn)用其他廠商所提供的用其他廠商所提供的ODBCODBC驅(qū)動(dòng)程序,有些驅(qū)動(dòng)

2、程序,有些UNIXUNIX廠商會(huì)本人提供廠商會(huì)本人提供ODBCODBC驅(qū)動(dòng)程序如驅(qū)動(dòng)程序如SUNSUN為為SolarisSolaris提供提供ODBCODBC。 ADO ADO是在是在MicrosoftMicrosoft的新的數(shù)據(jù)庫(kù)運(yùn)用開(kāi)發(fā)的新的數(shù)據(jù)庫(kù)運(yùn)用開(kāi)發(fā)接口接口APIAPIOLE DBOLE DB技術(shù)上實(shí)現(xiàn)的,經(jīng)過(guò)技術(shù)上實(shí)現(xiàn)的,經(jīng)過(guò)ASPASP的的ADOADO對(duì)象,只需安裝了相應(yīng)的對(duì)象,只需安裝了相應(yīng)的OLE DBOLE DB驅(qū)動(dòng)程驅(qū)動(dòng)程序,就可以訪問(wèn)各種數(shù)據(jù)源,包括傳統(tǒng)的關(guān)系序,就可以訪問(wèn)各種數(shù)據(jù)源,包括傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)和其他數(shù)據(jù)。型數(shù)據(jù)庫(kù)和其他數(shù)據(jù)。前往首頁(yè)前往首頁(yè)7.2 ODBC

3、7.2 ODBC數(shù)據(jù)源數(shù)據(jù)源7.2.1 ODBC7.2.1 ODBC概述概述7.2.2 7.2.2 創(chuàng)建數(shù)據(jù)源創(chuàng)建數(shù)據(jù)源前往首頁(yè)前往首頁(yè)7.2.1 ODBC7.2.1 ODBC概述概述 每個(gè)每個(gè)ODBCODBC數(shù)據(jù)源都被指定一個(gè)名字,即數(shù)據(jù)源都被指定一個(gè)名字,即DSNDSNData Source NameData Source Name。ODBCODBC數(shù)據(jù)源分為機(jī)器數(shù)據(jù)源分為機(jī)器數(shù)據(jù)源和文件數(shù)據(jù)源兩種。數(shù)據(jù)源和文件數(shù)據(jù)源兩種。 機(jī)器數(shù)據(jù)源把信息存儲(chǔ)在登錄信息中,因機(jī)器數(shù)據(jù)源把信息存儲(chǔ)在登錄信息中,因此只能被該計(jì)算機(jī)訪問(wèn)。機(jī)器數(shù)據(jù)源包括系統(tǒng)此只能被該計(jì)算機(jī)訪問(wèn)。機(jī)器數(shù)據(jù)源包括系統(tǒng)數(shù)據(jù)源和用戶(hù)數(shù)

4、據(jù)源。系統(tǒng)數(shù)據(jù)源對(duì)本地計(jì)算數(shù)據(jù)源和用戶(hù)數(shù)據(jù)源。系統(tǒng)數(shù)據(jù)源對(duì)本地計(jì)算機(jī)的一切用戶(hù)都是可見(jiàn)的,而用戶(hù)數(shù)據(jù)源是針機(jī)的一切用戶(hù)都是可見(jiàn)的,而用戶(hù)數(shù)據(jù)源是針對(duì)某個(gè)用戶(hù)的,它只對(duì)當(dāng)前用戶(hù)可見(jiàn)。對(duì)某個(gè)用戶(hù)的,它只對(duì)當(dāng)前用戶(hù)可見(jiàn)。 文件數(shù)據(jù)源把信息存儲(chǔ)在后綴名為文件數(shù)據(jù)源把信息存儲(chǔ)在后綴名為.dsn.dsn的的文件中,假設(shè)該文件存放在網(wǎng)絡(luò)共享的驅(qū)動(dòng)器文件中,假設(shè)該文件存放在網(wǎng)絡(luò)共享的驅(qū)動(dòng)器中,就可以被一切安裝了一樣驅(qū)動(dòng)程序的用戶(hù)中,就可以被一切安裝了一樣驅(qū)動(dòng)程序的用戶(hù)共享。共享。前往本節(jié)前往本節(jié)7.2.2 7.2.2 創(chuàng)建數(shù)據(jù)源創(chuàng)建數(shù)據(jù)源ODBCODBC數(shù)據(jù)源管理器數(shù)據(jù)源管理器“創(chuàng)建數(shù)據(jù)源窗創(chuàng)建數(shù)據(jù)源窗口口“

5、創(chuàng)建到創(chuàng)建到SQL ServerSQL Server的新數(shù)據(jù)源窗口的新數(shù)據(jù)源窗口“SQL ServerSQL Server身份驗(yàn)證窗身份驗(yàn)證窗口口指定默許數(shù)據(jù)庫(kù)等選項(xiàng)指定默許數(shù)據(jù)庫(kù)等選項(xiàng)指定日志文件等選項(xiàng)指定日志文件等選項(xiàng)“ODBC Microsoft SQL ServerODBC Microsoft SQL Server安裝窗口安裝窗口“SQL Server ODBCSQL Server ODBC數(shù)據(jù)源測(cè)試窗口數(shù)據(jù)源測(cè)試窗口前往本節(jié)前往本節(jié) 前往本節(jié)前往本節(jié)7.3 ADO7.3 ADO對(duì)象對(duì)象 ADO ADO對(duì)象對(duì)象ActiveX Data ObjectsActiveX Data Objec

6、ts是是ASPASP內(nèi)置對(duì)象之一,凡是能由內(nèi)置對(duì)象之一,凡是能由ODBCODBC驅(qū)動(dòng)驅(qū)動(dòng)程序訪問(wèn)的數(shù)據(jù)庫(kù),在程序訪問(wèn)的數(shù)據(jù)庫(kù),在ASPASP中都可以經(jīng)過(guò)中都可以經(jīng)過(guò)ADOADO對(duì)象與對(duì)象與SQLSQL語(yǔ)句對(duì)其進(jìn)展網(wǎng)絡(luò)訪問(wèn)。語(yǔ)句對(duì)其進(jìn)展網(wǎng)絡(luò)訪問(wèn)。 ADOADO的七個(gè)對(duì)象的七個(gè)對(duì)象1 1ConnectionConnection對(duì)象用于創(chuàng)建對(duì)象用于創(chuàng)建ASPASP腳本和指定腳本和指定數(shù)據(jù)庫(kù)的銜接。數(shù)據(jù)庫(kù)的銜接。 2 2CommandCommand對(duì)象擔(dān)任對(duì)數(shù)據(jù)庫(kù)提供懇求,也對(duì)象擔(dān)任對(duì)數(shù)據(jù)庫(kù)提供懇求,也就是傳送指定的就是傳送指定的SQLSQL命令。命令。 3 3ParameterParameter對(duì)象

7、擔(dān)任傳送對(duì)象擔(dān)任傳送CommandCommand對(duì)象所對(duì)象所需求的需求的SQLSQL命令參數(shù)。命令參數(shù)。 4 4RecordSetRecordSet對(duì)象擔(dān)任閱讀與操作從數(shù)據(jù)庫(kù)對(duì)象擔(dān)任閱讀與操作從數(shù)據(jù)庫(kù)中獲得的數(shù)據(jù),也就是說(shuō)中獲得的數(shù)據(jù),也就是說(shuō)RecordSetRecordSet對(duì)象可以對(duì)象可以用來(lái)表示來(lái)自根本表或命令執(zhí)行結(jié)果的記錄選用來(lái)表示來(lái)自根本表或命令執(zhí)行結(jié)果的記錄選集。集。5 5FieldField對(duì)象表示指定對(duì)象表示指定RecordSetRecordSet對(duì)象的數(shù)對(duì)象的數(shù)據(jù)字段。據(jù)字段。 ADOADO的七個(gè)對(duì)象的七個(gè)對(duì)象6 6PropertyProperty對(duì)象表示對(duì)象表示ADOAD

8、O的各項(xiàng)對(duì)象屬性值,的各項(xiàng)對(duì)象屬性值,每個(gè)每個(gè)ADOADO對(duì)象都會(huì)有一個(gè)描畫(huà)或控制對(duì)象行的對(duì)象都會(huì)有一個(gè)描畫(huà)或控制對(duì)象行的屬性。屬性。7 7ErrorError對(duì)象擔(dān)任記錄銜接過(guò)程中一切發(fā)生對(duì)象擔(dān)任記錄銜接過(guò)程中一切發(fā)生的錯(cuò)誤信息,任何涉及的錯(cuò)誤信息,任何涉及ADOADO對(duì)象的操作都會(huì)生對(duì)象的操作都會(huì)生成一個(gè)或多個(gè)提供者錯(cuò)誤。成一個(gè)或多個(gè)提供者錯(cuò)誤。 ADOADO的四個(gè)數(shù)據(jù)集合的四個(gè)數(shù)據(jù)集合1 1FieldsFields數(shù)據(jù)集合數(shù)據(jù)集合 一切一切FieldField對(duì)象的集合。對(duì)象的集合。 2 2PropertiesProperties數(shù)據(jù)集合數(shù)據(jù)集合 一切一切PropertyProperty

9、對(duì)象的集合。對(duì)象的集合。 3 3ParametersParameters數(shù)據(jù)集合數(shù)據(jù)集合 包含包含CommandCommand對(duì)象的一切對(duì)象的一切 Parameter Parameter對(duì)象。對(duì)象。4 4ErrorsErrors數(shù)據(jù)集合數(shù)據(jù)集合 一切一切ErrorError對(duì)象的集合。對(duì)象的集合。ADOADO對(duì)象與數(shù)據(jù)集合之間的關(guān)系對(duì)象與數(shù)據(jù)集合之間的關(guān)系前往首頁(yè)前往首頁(yè)7.4 7.4 數(shù)據(jù)庫(kù)訪問(wèn)數(shù)據(jù)庫(kù)訪問(wèn)實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的訪問(wèn)主要包括以下實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的訪問(wèn)主要包括以下5 5個(gè)步驟:個(gè)步驟: 1 1翻開(kāi)數(shù)據(jù)庫(kù)翻開(kāi)數(shù)據(jù)庫(kù) 2 2創(chuàng)建記錄集創(chuàng)建記錄集 3 3操作記錄集操作記錄集 4 4封鎖和釋放封

10、鎖和釋放ADOADO對(duì)象對(duì)象前往首頁(yè)前往首頁(yè)翻開(kāi)數(shù)據(jù)庫(kù)翻開(kāi)數(shù)據(jù)庫(kù) 運(yùn)用運(yùn)用ADOADO訪問(wèn)數(shù)據(jù)庫(kù)之前,先要建立數(shù)據(jù)源,訪問(wèn)數(shù)據(jù)庫(kù)之前,先要建立數(shù)據(jù)源,再運(yùn)用銜接對(duì)象翻開(kāi)數(shù)據(jù)庫(kù)。再運(yùn)用銜接對(duì)象翻開(kāi)數(shù)據(jù)庫(kù)。ADOADO的的ConnectionConnection對(duì)象對(duì)象是網(wǎng)絡(luò)經(jīng)過(guò)是網(wǎng)絡(luò)經(jīng)過(guò)ADOADO訪問(wèn)數(shù)據(jù)庫(kù)的關(guān)鍵,它擔(dān)任與數(shù)據(jù)庫(kù)訪問(wèn)數(shù)據(jù)庫(kù)的關(guān)鍵,它擔(dān)任與數(shù)據(jù)庫(kù)的實(shí)踐銜接動(dòng)作,其它對(duì)象都是依賴(lài)于的實(shí)踐銜接動(dòng)作,其它對(duì)象都是依賴(lài)于ConnectionConnection對(duì)象對(duì)數(shù)據(jù)庫(kù)進(jìn)展操作的。對(duì)象對(duì)數(shù)據(jù)庫(kù)進(jìn)展操作的。 ConnectionConnection對(duì)象的創(chuàng)建對(duì)象的創(chuàng)建語(yǔ)法語(yǔ)法 Set S

11、et 銜接對(duì)象名銜接對(duì)象名 =Server.CreateObject(ADODB.Connection) =Server.CreateObject(ADODB.Connection)例如例如 Set Conn Set Conn=Server.CreateObject(ADODB.Connection)=Server.CreateObject(ADODB.Connection)ConnectionConnection對(duì)象的方法對(duì)象的方法方法名方法名功能功能OpenOpen打開(kāi)打開(kāi)ConnectionConnection對(duì)象,建立與數(shù)據(jù)源的連接。對(duì)象,建立與數(shù)據(jù)源的連接。ExecuteExecut

12、e執(zhí)行指定的執(zhí)行指定的SQLSQL語(yǔ)句、存儲(chǔ)過(guò)程。語(yǔ)句、存儲(chǔ)過(guò)程。CloseClose關(guān)閉關(guān)閉ConnectionConnection對(duì)象。對(duì)象。OpenOpen方法方法ConnectionConnection對(duì)象的對(duì)象的OpenOpen方法擔(dān)任創(chuàng)建與數(shù)據(jù)源的銜接。方法擔(dān)任創(chuàng)建與數(shù)據(jù)源的銜接。語(yǔ)法語(yǔ)法 銜接對(duì)象名銜接對(duì)象名.Open DSN=.Open DSN=數(shù)據(jù)源名數(shù)據(jù)源名;UID=;UID=用戶(hù)名用戶(hù)名;PWD=;PWD=密碼密碼;例如:例如: Set Conn=Server.CreateObject(ADODB.Connection) Set Conn=Server.CreateObj

13、ect(ADODB.Connection) Conn.Open DSN=kycg;UID=sa;PWD=; Conn.Open DSN=kycg;UID=sa;PWD=;ConnectionConnection對(duì)象的屬性對(duì)象的屬性屬性名屬性名說(shuō)明說(shuō)明CommandTimeoutCommandTimeout設(shè)置設(shè)置ConnectionConnection對(duì)象的對(duì)象的ExecuteExecute方法運(yùn)行時(shí)等方法運(yùn)行時(shí)等待的最長(zhǎng)時(shí)間。待的最長(zhǎng)時(shí)間。ConnectionTimeoutConnectionTimeout 設(shè)置設(shè)置ConnectionConnection對(duì)象的對(duì)象的OpenOpen方法與數(shù)

14、據(jù)庫(kù)連接方法與數(shù)據(jù)庫(kù)連接時(shí)的最長(zhǎng)等待時(shí)間。時(shí)的最長(zhǎng)等待時(shí)間。DefaultDatabaseDefaultDatabase設(shè)置設(shè)置ConnectionConnection對(duì)象的缺省數(shù)據(jù)庫(kù)名。對(duì)象的缺省數(shù)據(jù)庫(kù)名。StateState獲得獲得ConnectionConnection對(duì)象的狀態(tài),即打開(kāi)或關(guān)閉。對(duì)象的狀態(tài),即打開(kāi)或關(guān)閉。前往本節(jié)前往本節(jié)創(chuàng)建記錄集創(chuàng)建記錄集 對(duì)于數(shù)據(jù)庫(kù)中數(shù)據(jù)的訪問(wèn)是經(jīng)過(guò)記錄集對(duì)對(duì)于數(shù)據(jù)庫(kù)中數(shù)據(jù)的訪問(wèn)是經(jīng)過(guò)記錄集對(duì)象實(shí)現(xiàn)的,因此在訪問(wèn)數(shù)據(jù)庫(kù)之前需求創(chuàng)建記象實(shí)現(xiàn)的,因此在訪問(wèn)數(shù)據(jù)庫(kù)之前需求創(chuàng)建記錄集對(duì)象。錄集對(duì)象。用SQL語(yǔ)句創(chuàng)建記錄集對(duì)象 用Recordset對(duì)象創(chuàng)建記錄集

15、對(duì)象 用Command對(duì)象創(chuàng)建記錄集對(duì)象 用用SQLSQL語(yǔ)句創(chuàng)建記錄集對(duì)象語(yǔ)句創(chuàng)建記錄集對(duì)象即直接經(jīng)過(guò)即直接經(jīng)過(guò)ConnectionConnection對(duì)象的對(duì)象的ExecuteExecute方法創(chuàng)建記錄集對(duì)象。方法創(chuàng)建記錄集對(duì)象。 語(yǔ)法語(yǔ)法 銜接對(duì)象名銜接對(duì)象名.Execute(CommandText,RecordAffected,Options).Execute(CommandText,RecordAffected,Options)例如:例如:Conn.Execute(Update teacher set Conn.Execute(Update teacher set 職稱(chēng)職稱(chēng)=副教授副

16、教授 Where Where 系別系別=數(shù)學(xué)系數(shù)學(xué)系)Set Rs=Conn.Execute(Select Set Rs=Conn.Execute(Select * * From teacher Where From teacher Where 職稱(chēng)職稱(chēng)=教授教授) CommandText CommandText:可以是:可以是SQLSQL語(yǔ)句、一個(gè)存儲(chǔ)過(guò)程或根本表名;語(yǔ)句、一個(gè)存儲(chǔ)過(guò)程或根本表名;RecordAffectedRecordAffected:是一個(gè)整型變量,用于存儲(chǔ)數(shù)據(jù)庫(kù)效力器每次操:是一個(gè)整型變量,用于存儲(chǔ)數(shù)據(jù)庫(kù)效力器每次操 作所得的記錄數(shù);作所得的記錄數(shù); Options O

17、ptions:表示對(duì)數(shù)據(jù)庫(kù)懇求的類(lèi)型。:表示對(duì)數(shù)據(jù)庫(kù)懇求的類(lèi)型。 AdCmdTextAdCmdTextAdCmdTableAdCmdTableAdCmdStoredProcAdCmdStoredProc用用RecordsetRecordset對(duì)象創(chuàng)建記錄集對(duì)象對(duì)象創(chuàng)建記錄集對(duì)象1 1創(chuàng)建一個(gè)創(chuàng)建一個(gè)RecordsetRecordset對(duì)象,格式如下:對(duì)象,格式如下:Set RecordsetSet Recordset對(duì)象名對(duì)象名 =Server.CreateObject(ADODB.Recordset) =Server.CreateObject(ADODB.Recordset)2 2運(yùn)用運(yùn)用R

18、ecordsetRecordset對(duì)象的對(duì)象的OpenOpen方法翻開(kāi)方法翻開(kāi)RecordsetRecordset對(duì)象。對(duì)象。 例如例如Set ObjRs=Server.CreateObject(ADODB.Recordset)Set ObjRs=Server.CreateObject(ADODB.Recordset) 格式格式 Recordset Recordset對(duì)象名對(duì)象名.Open .Open 數(shù)據(jù)源數(shù)據(jù)源, ,銜接稱(chēng)號(hào)銜接稱(chēng)號(hào) , ,游標(biāo)類(lèi)型游標(biāo)類(lèi)型,鎖定方式鎖定方式,數(shù)據(jù)源類(lèi)型數(shù)據(jù)源類(lèi)型 常量參數(shù)值闡明AdOpenForwardOnly0運(yùn)用前向類(lèi)型游標(biāo),只能在記錄集中向前挪動(dòng)默許

19、值A(chǔ)dOpenKeySet1運(yùn)用鍵集類(lèi)型游標(biāo),可以在記錄集中向前或向后挪動(dòng)。假設(shè)其他用戶(hù)刪除或改動(dòng)了某條記錄,記錄集中將反映這個(gè)變化。但是,假設(shè)其他用戶(hù)添加了一條新記錄,新記錄將不會(huì)出如今記錄集中AdOpenDynamic2運(yùn)用動(dòng)態(tài)類(lèi)型游標(biāo),可以在記錄集中向前或向后挪動(dòng)。對(duì)于其他用戶(hù)呵斥的任何記錄的變化都將在記錄集中有所反映AdOpenStatic3運(yùn)用靜態(tài)類(lèi)型游標(biāo),可以在記錄集中向前或向后挪動(dòng)。不會(huì)對(duì)其他用戶(hù)呵斥的任何記錄的變化有所反映RecordSetRecordSet對(duì)象的對(duì)象的CursorTypeCursorType參數(shù)參數(shù)常量參數(shù)值闡明AdLockReadOnly0只讀。不能改動(dòng)數(shù)據(jù)

20、默許值。AdLockPessimistic1保守式鎖定逐個(gè)。指定在編輯一個(gè)記錄時(shí)立刻鎖定它。AdLockOptimistic2開(kāi)放式鎖定逐個(gè)。只在調(diào)用Update方法時(shí)才鎖定記錄AdLockBatchOptimistic3開(kāi)放式批更新。用于批更新方式。RecordSetRecordSet對(duì)象的對(duì)象的LockTypeLockType參數(shù)參數(shù)常量參數(shù)值闡明AdCmdUnknown-1指示Source參數(shù)中的命令類(lèi)型為未知AdCmdText1指示被執(zhí)行的字符串包含一個(gè)命令文本AdCmdTable2指示被執(zhí)行的字符串包含一個(gè)表的名字AdCmdStoredProc3指示被執(zhí)行的字符串包含一個(gè)存儲(chǔ)過(guò)程名R

21、ecordSetRecordSet對(duì)象的對(duì)象的OptionsOptions參數(shù)參數(shù)注以上常量的闡明包含在文件注以上常量的闡明包含在文件“adovbs.incadovbs.inc中,用戶(hù)需中,用戶(hù)需求將該文件復(fù)制到網(wǎng)頁(yè)文件所在的目錄中。該文件的途徑是求將該文件復(fù)制到網(wǎng)頁(yè)文件所在的目錄中。該文件的途徑是“C:Program FilesCommon FilesSystemADOC:Program FilesCommon FilesSystemADO,并且在用,并且在用到該常量的到該常量的ASPASP腳本的最前面需求加上如下語(yǔ)句:腳本的最前面需求加上如下語(yǔ)句:用用CommandCommand對(duì)象創(chuàng)建記

22、錄集對(duì)象對(duì)象創(chuàng)建記錄集對(duì)象創(chuàng)建創(chuàng)建CommandCommand對(duì)象的語(yǔ)法格式如下:對(duì)象的語(yǔ)法格式如下:Set CommandSet Command對(duì)象名對(duì)象名=Server.CreateObject(ADODBmand)=Server.CreateObject(ADODBmand)例如:例如:Set ObjCm=Server.CreateObject(ADODBmand)Set ObjCm=Server.CreateObject(ADODBmand)CommandCommand對(duì)象的屬性對(duì)象的屬性 屬性屬性說(shuō)明說(shuō)明ActiveConnectionActiveConnection設(shè)置與設(shè)置與Co

23、mmandCommand對(duì)象連結(jié)的對(duì)象連結(jié)的ConnectionConnection對(duì)象。對(duì)象。CommandTextCommandText指明對(duì)數(shù)據(jù)庫(kù)的具體操作,可以是指明對(duì)數(shù)據(jù)庫(kù)的具體操作,可以是SQLSQL語(yǔ)句或存語(yǔ)句或存儲(chǔ)過(guò)程。儲(chǔ)過(guò)程。CommandTypeCommandType設(shè)置設(shè)置CommandCommand對(duì)象的類(lèi)型。對(duì)象的類(lèi)型。CommandTimeoutCommandTimeout設(shè)置設(shè)置CommandCommand對(duì)象的對(duì)象的ExecuteExecute方法運(yùn)行時(shí)的最長(zhǎng)方法運(yùn)行時(shí)的最長(zhǎng)等待時(shí)間。等待時(shí)間。StateState取得取得CommandCommand對(duì)象的狀態(tài),

24、即打開(kāi)或關(guān)閉。對(duì)象的狀態(tài),即打開(kāi)或關(guān)閉。用用CommandCommand對(duì)象創(chuàng)建記錄集對(duì)象對(duì)象創(chuàng)建記錄集對(duì)象運(yùn)用運(yùn)用ActiveConnectionActiveConnection屬性與屬性與ConnectionConnection對(duì)象建立銜接。對(duì)象建立銜接。語(yǔ)法語(yǔ)法 Command Command對(duì)象名對(duì)象名.ActiveConnection=Connection.ActiveConnection=Connection對(duì)象名對(duì)象名例如例如 ObjCm.ActiveConnection=Conn ObjCm.ActiveConnection=Conn Command Command對(duì)象的對(duì)象的

25、ExecuteExecute方法用于執(zhí)行方法用于執(zhí)行CommandTextCommandText屬性中設(shè)定的屬性中設(shè)定的SQLSQL語(yǔ)句或存語(yǔ)句或存儲(chǔ)過(guò)程,并且前往記錄集對(duì)象。儲(chǔ)過(guò)程,并且前往記錄集對(duì)象。語(yǔ)法語(yǔ)法 Set Set 記錄集對(duì)象名記錄集對(duì)象名=Command.Execute(CommandText,RecordsAffected,Parameters,Options)=Command.Execute(CommandText,RecordsAffected,Parameters,Options)例如例如 Set ObjRs=ObjCm.Execute(Select Set ObjRs

26、=ObjCm.Execute(Select * * From teacher Where From teacher Where 職稱(chēng)職稱(chēng)=教授教授)前往本節(jié)前往本節(jié)操作記錄集操作記錄集 創(chuàng)建了記錄集對(duì)象,就可以對(duì)記錄集進(jìn)展創(chuàng)建了記錄集對(duì)象,就可以對(duì)記錄集進(jìn)展操作。對(duì)記錄集的操作主要經(jīng)過(guò)操作。對(duì)記錄集的操作主要經(jīng)過(guò)RecordsetRecordset對(duì)對(duì)象、象、FieldField對(duì)象和對(duì)象和FieldsFields集合實(shí)現(xiàn)。集合實(shí)現(xiàn)。 Recordset對(duì)象的屬性和方法對(duì)象的屬性和方法 Field對(duì)象和對(duì)象和Fields集合的屬性和方法集合的屬性和方法前往本節(jié)前往本節(jié)RecordSetReco

27、rdSet對(duì)象的方法對(duì)象的方法1 1、OpenOpen方法方法 運(yùn)用運(yùn)用OpenOpen方法可以翻開(kāi)代表數(shù)據(jù)表、查詢(xún)結(jié)果或者以前方法可以翻開(kāi)代表數(shù)據(jù)表、查詢(xún)結(jié)果或者以前保管的保管的RecordSetRecordSet中記錄的游標(biāo)即與數(shù)據(jù)庫(kù)建立銜接。中記錄的游標(biāo)即與數(shù)據(jù)庫(kù)建立銜接。語(yǔ)法語(yǔ)法RecordSet.Open Source, ActiveConnection, CursorType, RecordSet.Open Source, ActiveConnection, CursorType, LockType, Options LockType, Options2 2、CloseClose方

28、法方法 用來(lái)封鎖所指定的用來(lái)封鎖所指定的RecordSetRecordSet對(duì)象。對(duì)象。 語(yǔ)法語(yǔ)法 RecordSet.Close RecordSet.Close 這些方法都是用來(lái)挪動(dòng)記錄指針的,經(jīng)過(guò)運(yùn)用這些方法可以根據(jù)實(shí)踐情這些方法都是用來(lái)挪動(dòng)記錄指針的,經(jīng)過(guò)運(yùn)用這些方法可以根據(jù)實(shí)踐情況方便地將記錄指針挪動(dòng)到所要的位置。況方便地將記錄指針挪動(dòng)到所要的位置。 MoveFirst MoveFirst:將指針挪動(dòng)到:將指針挪動(dòng)到RecordSetRecordSet對(duì)象的第一條記錄。對(duì)象的第一條記錄。 MoveLast MoveLast:將指針挪動(dòng)到最后一條數(shù)據(jù)記錄。:將指針挪動(dòng)到最后一條數(shù)據(jù)記錄。

29、 MoveNext MoveNext:將指針挪動(dòng)到下一條數(shù)據(jù)記錄。:將指針挪動(dòng)到下一條數(shù)據(jù)記錄。MovePreviousMovePrevious:將指針挪動(dòng)到上一條數(shù)據(jù)記錄。:將指針挪動(dòng)到上一條數(shù)據(jù)記錄。 Move Move:將指針挪動(dòng)到指定位置。:將指針挪動(dòng)到指定位置。 3 3、MoveFirstMoveFirst,MoveLastMoveLast,MoveNextMoveNext,MovePreviousMovePrevious,MoveMove方法方法RecordSetRecordSet對(duì)象的方法對(duì)象的方法Num:Num:指針挪動(dòng)的數(shù)目,如為正數(shù)表示向后挪動(dòng),負(fù)數(shù)表示向前挪動(dòng)。指針挪動(dòng)的

30、數(shù)目,如為正數(shù)表示向后挪動(dòng),負(fù)數(shù)表示向前挪動(dòng)。Start:Start:指針挪動(dòng)的基準(zhǔn)點(diǎn)。指針挪動(dòng)的基準(zhǔn)點(diǎn)。AdBookmarkCurrentAdBookmarkCurrent或或0 0表示從當(dāng)前記錄開(kāi)場(chǎng);表示從當(dāng)前記錄開(kāi)場(chǎng); AdBookmarkFirst AdBookmarkFirst或或1 1表示從首記錄開(kāi)場(chǎng);表示從首記錄開(kāi)場(chǎng); AdBookmarkLast AdBookmarkLast或或2 2表示從尾記錄開(kāi)場(chǎng)。表示從尾記錄開(kāi)場(chǎng)。4 4UpdateUpdate,CancelUpdateCancelUpdate,CancelBatchCancelBatch、UpdateBatchUpdat

31、eBatch方法方法 用來(lái)更新或取消更新的。用來(lái)更新或取消更新的。 Update Update:用于將:用于將RecordSetRecordSet對(duì)象中當(dāng)前記錄的修正保管到對(duì)象中當(dāng)前記錄的修正保管到 數(shù)據(jù)庫(kù)中。數(shù)據(jù)庫(kù)中。CancelUpdateCancelUpdate:取消在調(diào)用:取消在調(diào)用UpdateUpdate方法前所做的修正。方法前所做的修正。 UpdateBatch UpdateBatch:進(jìn)展批次方式的更新數(shù)據(jù)操作。:進(jìn)展批次方式的更新數(shù)據(jù)操作。 CancelBatch CancelBatch:允許取消批次方式的更新數(shù)據(jù)操作。:允許取消批次方式的更新數(shù)據(jù)操作。RecordSetRec

32、ordSet對(duì)象的方法對(duì)象的方法AddNewAddNew:用來(lái)向數(shù)據(jù)庫(kù)中插入一條新記錄;:用來(lái)向數(shù)據(jù)庫(kù)中插入一條新記錄;DeleteDelete:用于從數(shù)據(jù)庫(kù)中刪除指定的記錄。:用于從數(shù)據(jù)庫(kù)中刪除指定的記錄。語(yǔ)法語(yǔ)法 RecordSet RecordSet對(duì)象名對(duì)象名.AddNew.AddNew RecordSet RecordSet對(duì)象名對(duì)象名.Delete.Delete5 5、AddNewAddNew,DeleteDelete方法方法RecordSetRecordSet對(duì)象的屬性對(duì)象的屬性1 1ActiveConnectionActiveConnection、SourceSource、Cu

33、rsorTypeCursorType、LockTypeLockType屬性屬性2 2CursorLocationCursorLocation,BookmarkBookmark屬性屬性3 3RecordCountRecordCount,MaxRecordsMaxRecords屬性屬性4 4BOFBOF,EOFEOF屬性屬性5 5PageSizePageSize,PageCountPageCount,AbsolutePageAbsolutePage,AbsolutePositionAbsolutePositionRecordsetRecordset對(duì)象名對(duì)象名.Open .Open 數(shù)據(jù)源數(shù)據(jù)源,

34、 ,銜接稱(chēng)號(hào)銜接稱(chēng)號(hào) , ,游標(biāo)類(lèi)型游標(biāo)類(lèi)型,鎖定方式鎖定方式,數(shù)據(jù)源類(lèi)型數(shù)據(jù)源類(lèi)型 前往前往常量參數(shù)值闡明AdEditNone0指示當(dāng)前沒(méi)有編輯操作AdEditInProgress1指示當(dāng)前記錄中的數(shù)據(jù)已被修正但未保管AdEditAdd2指示AddNew方法已被調(diào)用,且復(fù)制緩沖區(qū)中的當(dāng)前記錄是尚未保管到數(shù)據(jù)庫(kù)中的新記錄AdEditDelete3指示當(dāng)前記錄已被刪除EditModeEditMode屬性的取值屬性的取值前往前往常數(shù)參數(shù)值闡明AdFilterNone0刪除當(dāng)前挑選條件并恢復(fù)查看的一切記錄AdFilterPendingRecords1允許只查看已更改且尚未發(fā)送到效力器的記錄。只能運(yùn)用

35、于批更新方式AdFilterAffectedRecords2允許只查看上一次Delete,Resync,UpdateBatch或CancelBatch調(diào)用所影響的記錄AdFilterFetchedRecords3允許查看當(dāng)前緩沖區(qū)中的記錄,即上一次從數(shù)據(jù)庫(kù)中檢索記錄的調(diào)用結(jié)果AdFilterConflictingRecords4允許查看在上一次批更新中失敗的記錄FilterFilter屬性的取值屬性的取值 Fields Fields集合就是集合就是RecordsetRecordset對(duì)象中包含的一切對(duì)象中包含的一切FieldField對(duì)象對(duì)象的集合,可以經(jīng)過(guò)的集合,可以經(jīng)過(guò)FieldsFiel

36、ds集合的集合的ItemItem方法獲得方法獲得FieldsFields集合集合中的中的FieldField對(duì)象,語(yǔ)法如下:對(duì)象,語(yǔ)法如下: Recordset Recordset對(duì)象對(duì)象.Fields.Item(i).Fields.Item(i)也可以簡(jiǎn)寫(xiě)為:也可以簡(jiǎn)寫(xiě)為: Recordset Recordset對(duì)象對(duì)象.Fields(i).Fields(i) i i表示當(dāng)前記錄的第表示當(dāng)前記錄的第i i個(gè)字段,個(gè)字段,i=0,1,i=0,1,字段個(gè)數(shù)字段個(gè)數(shù)-1-1。 還可以運(yùn)用還可以運(yùn)用RecordsetRecordset對(duì)象對(duì)象(字段名字段名)的方式訪問(wèn)當(dāng)前的方式訪問(wèn)當(dāng)前記錄的某個(gè)字段

37、。記錄的某個(gè)字段。FieldField對(duì)象的訪問(wèn)對(duì)象的訪問(wèn) 運(yùn)用運(yùn)用FieldsFields集合的集合的CountCount屬性獲得一個(gè)屬性獲得一個(gè)RecordsetRecordset對(duì)象中對(duì)象中每條記錄的字段個(gè)數(shù)。每條記錄的字段個(gè)數(shù)。FieldField對(duì)象的屬性對(duì)象的屬性NameName屬性表示對(duì)象屬性的稱(chēng)號(hào)。屬性表示對(duì)象屬性的稱(chēng)號(hào)。ValueValue屬性表示對(duì)象屬性的屬性值。屬性表示對(duì)象屬性的屬性值。TypeType屬性表示對(duì)象屬性的數(shù)據(jù)類(lèi)型。屬性表示對(duì)象屬性的數(shù)據(jù)類(lèi)型。前往前往FieldField對(duì)象的方法對(duì)象的方法 Field Field對(duì)象的方法包括對(duì)象的方法包括AppendCh

38、unkAppendChunk,GetChunkGetChunk等。等。AppendChunkAppendChunk方法和方法和GetChunkGetChunk方法方法是用來(lái)專(zhuān)門(mén)處置是用來(lái)專(zhuān)門(mén)處置texttext,imageimage等數(shù)據(jù)類(lèi)型的。等數(shù)據(jù)類(lèi)型的。AppendChunkAppendChunk方法用于將數(shù)據(jù)寫(xiě)到數(shù)據(jù)庫(kù)中;方法用于將數(shù)據(jù)寫(xiě)到數(shù)據(jù)庫(kù)中;GetChunkGetChunk方法用于將數(shù)據(jù)從數(shù)據(jù)庫(kù)中取出。方法用于將數(shù)據(jù)從數(shù)據(jù)庫(kù)中取出。語(yǔ)法語(yǔ)法 Field.AppendChunk data Field.AppendChunk data Variant = field.GetChun

39、k(size) Variant = field.GetChunk(size)封鎖數(shù)據(jù)庫(kù)封鎖數(shù)據(jù)庫(kù) 在一切數(shù)據(jù)庫(kù)操作終了后,需求將記錄集在一切數(shù)據(jù)庫(kù)操作終了后,需求將記錄集和數(shù)據(jù)庫(kù)的銜接封鎖??梢越?jīng)過(guò)和數(shù)據(jù)庫(kù)的銜接封鎖??梢越?jīng)過(guò)Connection Connection 對(duì)對(duì)象的象的CloseClose方法將已建立并翻開(kāi)的方法將已建立并翻開(kāi)的ConnectionConnection對(duì)對(duì)象封鎖。象封鎖。語(yǔ)法語(yǔ)法 銜接對(duì)象名銜接對(duì)象名.Close.Close例如例如 Conn.Close Conn.Close 注注 封鎖以后的封鎖以后的ConnectionConnection對(duì)象的定義依然存在,對(duì)象

40、的定義依然存在,只是其中包含的數(shù)據(jù)被刪除。因此,依然可以經(jīng)只是其中包含的數(shù)據(jù)被刪除。因此,依然可以經(jīng)過(guò)過(guò)OpenOpen方法將該方法將該ConnectionConnection對(duì)象重新翻開(kāi)。對(duì)象重新翻開(kāi)。釋放釋放ADOADO對(duì)象對(duì)象 封鎖了數(shù)據(jù)庫(kù)的銜接,只是清空了它們的封鎖了數(shù)據(jù)庫(kù)的銜接,只是清空了它們的數(shù)據(jù),而定義還在。假設(shè)不再運(yùn)用銜接對(duì)象,數(shù)據(jù),而定義還在。假設(shè)不再運(yùn)用銜接對(duì)象,那么可以釋放銜接對(duì)象,進(jìn)而釋放所占用的內(nèi)那么可以釋放銜接對(duì)象,進(jìn)而釋放所占用的內(nèi)存資源。存資源。語(yǔ)法語(yǔ)法 Set Set銜接對(duì)象名銜接對(duì)象名=Nothing=Nothing例如例如 Set Conn=Nothing

41、 Set Conn=Nothing前往本節(jié)前往本節(jié)綜合舉例綜合舉例例題例題13.19例題例題13.20例題例題13.21例題例題13.22前往首頁(yè)前往首頁(yè)例例13_19 13_19 顯示記錄顯示記錄運(yùn)用運(yùn)用CommandCommand對(duì)象的對(duì)象的ExecuteExecute方法創(chuàng)建記錄集對(duì)象方法創(chuàng)建記錄集對(duì)象rsrs%注運(yùn)用這種方法創(chuàng)建的記錄集對(duì)象的游標(biāo)類(lèi)型是注運(yùn)用這種方法創(chuàng)建的記錄集對(duì)象的游標(biāo)類(lèi)型是adOpenForwardOnlyadOpenForwardOnly,只,只能對(duì)該記錄集對(duì)象進(jìn)展顯示,不能進(jìn)展修正、添加、刪除的操作,也不能運(yùn)能對(duì)該記錄集對(duì)象進(jìn)展顯示,不能進(jìn)展修正、添加、刪除的操

42、作,也不能運(yùn)用用RecordCountRecordCount屬性。屬性。 例例13_19 13_19 顯示記錄顯示記錄在表格的第一行顯示字段名在表格的第一行顯示字段名For i=0 to rs.Fields.count-1Response.Write & rs.Fields(i).name & Next 顯示詳細(xì)的記錄內(nèi)容顯示詳細(xì)的記錄內(nèi)容Do while not rs.EOF Response.Write For j=0 to rs.Fields.count-1 Response.Write & rs.Fields(j).value & Next Respon

43、se.Write rs.MovenextLoop 前往前往例例13_20 13_20 添加記錄添加記錄經(jīng)過(guò)經(jīng)過(guò)RecordsetRecordset對(duì)象創(chuàng)建記錄集對(duì)象對(duì)象創(chuàng)建記錄集對(duì)象rs rs set conn = set conn = Server.CreateObject(ADODB.Connection)Server.CreateObject(ADODB.Connection)conn.Open DSN=kycg; UID=sa; PWD=;conn.Open DSN=kycg; UID=sa; PWD=;Set rs= Server.CreateObject(ADODB.Records

44、et)Set rs= Server.CreateObject(ADODB.Recordset)rs.Open rs.Open teacher,conn,adOpenKeyset,adLockOptimistic,adCteacher,conn,adOpenKeyset,adLockOptimistic,adCmdTablemdTable例例13_20 13_20 添加記錄添加記錄運(yùn)用記錄集對(duì)象的方法添加新記錄運(yùn)用記錄集對(duì)象的方法添加新記錄rs.AddNewrs(教師編號(hào)教師編號(hào)).Value =Trim(Request.QueryString(num)rs(姓名姓名).Value=Trim(Request.QueryString(name)rs(職稱(chēng)職稱(chēng)).Value=Trim(Request.QueryString(zc)rs(系別系別).Value=Trim(Request.QueryString(depart)rs(最高學(xué)位最高學(xué)位).Value=Trim(Request.QueryString(xw)rs(性別性別).

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論