




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Copyright 2005 河北大學 計算中心網(wǎng)絡程序設計網(wǎng)絡程序設計第九章第九章 ASP數(shù)據(jù)庫操作基礎數(shù)據(jù)庫操作基礎Copyright 2005 河北大學 計算中心章節(jié)概述章節(jié)概述使用使用ASPASP技術設計網(wǎng)頁,把數(shù)據(jù)庫放到網(wǎng)頁的后面,使用戶不必技術設計網(wǎng)頁,把數(shù)據(jù)庫放到網(wǎng)頁的后面,使用戶不必直接操作數(shù)據(jù)庫,而是通過網(wǎng)頁來使用數(shù)據(jù)庫,這樣用戶可以直接操作數(shù)據(jù)庫,而是通過網(wǎng)頁來使用數(shù)據(jù)庫,這樣用戶可以方便靈活的,在自己權限范圍內操作數(shù)據(jù)庫。方便靈活的,在自己權限范圍內操作數(shù)據(jù)庫。Copyright 2005 河北大學 計算中心章節(jié)內容章節(jié)內容本章的主要內容是:本章的主要內容是:數(shù)據(jù)庫存取組
2、件數(shù)據(jù)庫存取組件ConnectionConnection對象對象CommandCommand對象對象RecordseRecordse對象對象Copyright 2005 河北大學 計算中心9.1數(shù)據(jù)庫存取組件數(shù)據(jù)庫存取組件數(shù)據(jù)庫存取組件(數(shù)據(jù)庫存取組件(Database Access ComponentDatabase Access Component)是使用)是使用ADOADO(ActiveX Data ObjectsActiveX Data Objects)技術來存取符合)技術來存取符合ODBCODBC標準的數(shù)據(jù)標準的數(shù)據(jù)庫或者具有表格狀數(shù)據(jù)形式的一種庫或者具有表格狀數(shù)據(jù)形式的一種ASPA
3、SP內置組件。內置組件。ADOADO數(shù)據(jù)庫數(shù)據(jù)庫存取組件(以下簡稱存取組件(以下簡稱ADOADO)可以兼容大部分的數(shù)據(jù)庫,本書主)可以兼容大部分的數(shù)據(jù)庫,本書主要介紹要介紹ADOADO對對ACCESSACCESS數(shù)據(jù)庫的存取操作。數(shù)據(jù)庫的存取操作。 Copyright 2005 河北大學 計算中心9.1數(shù)據(jù)庫存取組件數(shù)據(jù)庫存取組件nADOADO數(shù)據(jù)庫存取組件主要包括三個對象數(shù)據(jù)庫存取組件主要包括三個對象 ConnectionConnection對象又叫連接對象,主要用來在對象又叫連接對象,主要用來在ASPASP文件和數(shù)文件和數(shù)據(jù)庫之間建立連接,為兩者間的信息傳遞提供通道,是據(jù)庫之間建立連接,為
4、兩者間的信息傳遞提供通道,是CommandCommand對象的基礎。對象的基礎。 CommandCommand對象又叫命令對象,主要對數(shù)據(jù)庫執(zhí)行操作,包對象又叫命令對象,主要對數(shù)據(jù)庫執(zhí)行操作,包括:增加、刪除、修改和查詢四種常用的操作。括:增加、刪除、修改和查詢四種常用的操作。 RecordseRecordse對象又叫記錄集對象,如果對數(shù)據(jù)庫執(zhí)行查詢操對象又叫記錄集對象,如果對數(shù)據(jù)庫執(zhí)行查詢操作,就會返回一個記錄集合,包含滿足條件的記錄。作,就會返回一個記錄集合,包含滿足條件的記錄。Copyright 2005 河北大學 計算中心ADOADO的使用方法的使用方法n三個對象擁有豐富的屬性和方法,
5、使用靈活多樣,為了便三個對象擁有豐富的屬性和方法,使用靈活多樣,為了便于大家掌握,本書對三個對象的主要屬性和方法進行說明于大家掌握,本書對三個對象的主要屬性和方法進行說明的同時,提供了一種比較科學的和完整的使用方法。的同時,提供了一種比較科學的和完整的使用方法。nADOADO對象的使用方法是:首先使用對象的使用方法是:首先使用ConnectionConnection對象建立和數(shù)對象建立和數(shù)據(jù)庫的連接,然后使用據(jù)庫的連接,然后使用CommandCommand對象執(zhí)行對數(shù)據(jù)庫的操作,對象執(zhí)行對數(shù)據(jù)庫的操作,如果執(zhí)行的操作時查詢,使用如果執(zhí)行的操作時查詢,使用RecordsetRecordset對象
6、獲取查詢的結對象獲取查詢的結果。果。Copyright 2005 河北大學 計算中心9.2 Connection對象對象n功能概述:使用功能概述:使用ADOADO對數(shù)據(jù)庫進行操作,首先要依靠對數(shù)據(jù)庫進行操作,首先要依靠ConnectionConnection對象在網(wǎng)頁和數(shù)據(jù)庫之間建立連接。對象在網(wǎng)頁和數(shù)據(jù)庫之間建立連接。n使用方法:首先創(chuàng)建使用方法:首先創(chuàng)建ConnectionConnection對象,然后設置對象,然后設置ConnectionConnection對象的屬性,最后執(zhí)行對象的屬性,最后執(zhí)行ConnectionConnection對象的對象的相應方法。相應方法。Copyright
7、2005 河北大學 計算中心9.2.1Connection對象的創(chuàng)建對象的創(chuàng)建nConnectionConnection對象的創(chuàng)建語法如下:對象的創(chuàng)建語法如下:Set ConnectionSet Connection對象對象= =Server.Createobject(“Adodb.ConnectionServer.Createobject(“Adodb.Connection”)”)n例如:例如:%Copyright 2005 河北大學 計算中心9.2.2 Connection對象常用的屬性對象常用的屬性nConnectionstringConnectionstring:用于指定:用于指定Co
8、nnectionConnection對象的數(shù)據(jù)庫連對象的數(shù)據(jù)庫連接信息。它的取值可以有兩種:數(shù)據(jù)源或連接字符串。語接信息。它的取值可以有兩種:數(shù)據(jù)源或連接字符串。語法為:法為: ConnectionConnection對象對象. . ConnectionstringConnectionstring= =數(shù)據(jù)源或連接字符串數(shù)據(jù)源或連接字符串 nConnectiontimeoutConnectiontimeout:用于指定:用于指定ConnectionConnection對象的對象的OpenOpen方法方法打開與數(shù)據(jù)庫的連接所需的最長時間,單位是秒。該屬性打開與數(shù)據(jù)庫的連接所需的最長時間,單位是秒
9、。該屬性的默認值為的默認值為1515秒,如果設定為秒,如果設定為0 0,表示一直連接下去,直到,表示一直連接下去,直到連通為止。語法為:連通為止。語法為: ConnectionConnection對象對象. . ConnectiontimeoutConnectiontimeout = =整數(shù)整數(shù) Copyright 2005 河北大學 計算中心9.2.3Connection對象常用的方法對象常用的方法nOpenOpen:打開與數(shù)據(jù)庫的連接。在使用:打開與數(shù)據(jù)庫的連接。在使用openopen方法前要方法前要設置設置ConnectionstringConnectionstring屬性,這是它的操作
10、對象。屬性,這是它的操作對象。語法為:語法為: ConnectionConnection對象對象.Open .Open nCloseClose:關閉一個已經打開的:關閉一個已經打開的ASPASP網(wǎng)頁文件和數(shù)據(jù)庫網(wǎng)頁文件和數(shù)據(jù)庫之間的連接。當連接關閉了,之間的連接。當連接關閉了,ConnectionConnection對象依然對象依然存在,但依賴于存在,但依賴于ConnectionConnection對象的對象的CommandCommand對象和對象和RecordsetRecordset對象將不能使用。語法為:對象將不能使用。語法為: ConnectionConnection對象對象.close
11、.closeCopyright 2005 河北大學 計算中心9.2.4使用數(shù)據(jù)源和連接字符串使用數(shù)據(jù)源和連接字符串nConnection Connection 對象的對象的ConnectionstringConnectionstring屬性用于設屬性用于設置對數(shù)據(jù)庫的連接,它的取值有兩種,分別是使用置對數(shù)據(jù)庫的連接,它的取值有兩種,分別是使用數(shù)據(jù)源(數(shù)據(jù)源(ODBCODBC)和使用連接字符串。)和使用連接字符串。Copyright 2005 河北大學 計算中心使用數(shù)據(jù)源使用數(shù)據(jù)源n數(shù)據(jù)源就是數(shù)據(jù)源開放數(shù)據(jù)庫連接(數(shù)據(jù)源就是數(shù)據(jù)源開放數(shù)據(jù)庫連接(ODBCODBC),利用),利用它可以訪問來自多種
12、數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)。數(shù)據(jù)它可以訪問來自多種數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)。數(shù)據(jù)源采用統(tǒng)一的方法訪問各種數(shù)據(jù)庫管理系統(tǒng),并提源采用統(tǒng)一的方法訪問各種數(shù)據(jù)庫管理系統(tǒng),并提供給應用程序統(tǒng)一的接口,這樣應用程序不必關心供給應用程序統(tǒng)一的接口,這樣應用程序不必關心如何連接具體的那種數(shù)據(jù)庫管理系統(tǒng),而只需要使如何連接具體的那種數(shù)據(jù)庫管理系統(tǒng),而只需要使用數(shù)據(jù)源,就可以操作各種數(shù)據(jù)庫了。用數(shù)據(jù)源,就可以操作各種數(shù)據(jù)庫了。 n請看數(shù)據(jù)庫連接實例請看數(shù)據(jù)庫連接實例Copyright 2005 河北大學 計算中心使用數(shù)據(jù)源使用數(shù)據(jù)源創(chuàng)建創(chuàng)建Connection Connection 對象,使用數(shù)據(jù)源與數(shù)據(jù)庫連接,代碼如下
13、:對象,使用數(shù)據(jù)源與數(shù)據(jù)庫連接,代碼如下:%dim %Copyright 2005 河北大學 計算中心使用連接字符串使用連接字符串n數(shù)據(jù)源連接數(shù)據(jù)庫管理系統(tǒng)需要具有在服務器上創(chuàng)數(shù)據(jù)源連接數(shù)據(jù)庫管理系統(tǒng)需要具有在服務器上創(chuàng)建數(shù)據(jù)源的權限,而且移植到另一臺服務器上需要建數(shù)據(jù)源的權限,而且移植到另一臺服務器上需要重新設置數(shù)據(jù)源,而使用數(shù)據(jù)庫連接字符串則沒有重新設置數(shù)據(jù)源,而使用數(shù)據(jù)庫連接字符串則沒有這些問題。這些問題。n對對AccessAccess數(shù)據(jù)庫使用數(shù)據(jù)庫連接字符串需要用到兩數(shù)據(jù)庫使用數(shù)據(jù)庫連接字符串需要用到兩個參數(shù)個參數(shù)DbqDbq和和DriverDriver,DbqDbq的取值是數(shù)據(jù)庫的
14、物理路的取值是數(shù)據(jù)庫的物理路徑,徑,DriverDriver的取值是數(shù)據(jù)庫的類型。的取值是數(shù)據(jù)庫的類型。Copyright 2005 河北大學 計算中心直接使用物理路徑直接使用物理路徑下面使用連接字符串作為下面使用連接字符串作為ConnectionStringConnectionString屬性的屬性的取值。例如:取值。例如:CJGL.mdbCJGL.mdb數(shù)據(jù)庫文件在數(shù)據(jù)庫文件在C:Inetpubwwwrootchapter10C:Inetpubwwwrootchapter10文件夾中,可以文件夾中,可以設置為:設置為:%)”%Copyright 2005 河北大學 計算中心轉換使用物理路徑
15、轉換使用物理路徑 在實際的開發(fā)中為了方便移植,可以利用在實際的開發(fā)中為了方便移植,可以利用ServerServer對象的對象的MappathMappath方法,將虛擬方法,將虛擬路徑轉變?yōu)閷嶋H的物理路徑。語法為:路徑轉變?yōu)閷嶋H的物理路徑。語法為: Server.MappathServer.Mappath(虛擬路徑字符串)(虛擬路徑字符串)n如果數(shù)據(jù)庫文件和當前如果數(shù)據(jù)庫文件和當前ASPASP文件在同一個文件夾中,可以直接寫數(shù)據(jù)庫文件文件在同一個文件夾中,可以直接寫數(shù)據(jù)庫文件名,上例可以修改為:名,上例可以修改為: %)”%n如果數(shù)據(jù)庫文件和如果數(shù)據(jù)庫文件和ASPASP文件不在同一個文件夾,要書
16、寫數(shù)據(jù)庫文文件不在同一個文件夾,要書寫數(shù)據(jù)庫文件相對于件相對于ASPASP文件的路徑。為了方便管理,經常在網(wǎng)頁的根目錄文件的路徑。為了方便管理,經常在網(wǎng)頁的根目錄下,建立專門的文件夾存放數(shù)據(jù)庫文件。例如:當前網(wǎng)頁在根下,建立專門的文件夾存放數(shù)據(jù)庫文件。例如:當前網(wǎng)頁在根目錄下,并且在根目錄下建立目錄下,并且在根目錄下建立DataData文件夾存放文件夾存放CJGL.MDBCJGL.MDB數(shù)據(jù)庫數(shù)據(jù)庫文件,文件,ConnectionStringConnectionString屬性設置如下:屬性設置如下: %)”%Copyright 2005 河北大學 計算中心字符串連接數(shù)據(jù)庫完整的示例字符串連接
17、數(shù)據(jù)庫完整的示例%dim %Copyright 2005 河北大學 計算中心9.3Command對象對象nCommandCommand對象主要功能是對數(shù)據(jù)庫執(zhí)行操作。該對象對象主要功能是對數(shù)據(jù)庫執(zhí)行操作。該對象利用利用connectionconnection對象提供的連接通道,在對象提供的連接通道,在ASPASP網(wǎng)頁文網(wǎng)頁文件和數(shù)據(jù)庫間傳遞對數(shù)據(jù)庫的操作命令。件和數(shù)據(jù)庫間傳遞對數(shù)據(jù)庫的操作命令。nCommandCommand對象的使用方法是:首先創(chuàng)建對象的使用方法是:首先創(chuàng)建ConnectionConnection對對象,設置象,設置ConnectionConnection對象的屬性,并打開與
18、數(shù)據(jù)庫的對象的屬性,并打開與數(shù)據(jù)庫的連接,然后設置連接,然后設置CommandCommand對象的屬性,執(zhí)行對象的屬性,執(zhí)行CommandCommand對對象的方法,如果是查詢操作,還要創(chuàng)建象的方法,如果是查詢操作,還要創(chuàng)建RecordsetRecordset對對象接收查詢的結果。象接收查詢的結果。Copyright 2005 河北大學 計算中心9.3.1Command對象的創(chuàng)建對象的創(chuàng)建nCommandCommand對象的創(chuàng)建類似于對象的創(chuàng)建類似于connectionconnection對象,要使用對象,要使用serverserver對象的對象的createobjectcreateobjec
19、t方法。方法。CommandCommand對象的創(chuàng)對象的創(chuàng)建語法如下:建語法如下:%Set Command”)%n例如:例如:%Copyright 2005 河北大學 計算中心9.3.2Command對象的屬性對象的屬性nActiveConnectionActiveConnection:設置:設置CommandCommand對象需要使用的對象需要使用的那個那個connectionconnection對象作為連接。該屬性取值為已經對象作為連接。該屬性取值為已經打開的打開的connectionconnection對象。語法為:對象。語法為: CommandCommand對象對象. . Active
20、connectionActiveconnection=connection=connection對象對象 nCommandtextCommandtext:設置對數(shù)據(jù)庫的操作命令。它的?。涸O置對數(shù)據(jù)庫的操作命令。它的取值可以是值可以是SQLSQL語句、表名或查詢名。語法為:語句、表名或查詢名。語法為: CommandCommand對象對象. .CommandtextCommandtext=SQL=SQL語句、表名和查詢名語句、表名和查詢名Copyright 2005 河北大學 計算中心Command對象的屬性對象的屬性nCommandtypeCommandtype:該屬性設置操作命令的類型,即說
21、:該屬性設置操作命令的類型,即說明明CommandtextCommandtext屬性取值的類型。屬性取值的類型。語法為:語法為: CommandCommand對象對象. . CommandtypeCommandtype = =屬性值屬性值n在存取在存取AccessAccess數(shù)據(jù)庫中常用的取值如表所示:數(shù)據(jù)庫中常用的取值如表所示:數(shù)值說明-1有系統(tǒng)自己判定1SQL語句2表名4查詢名Copyright 2005 河北大學 計算中心Command對象的屬性對象的屬性nCommandtimeoutCommandtimeout:設置:設置CommandCommand對象的對象的executeexecu
22、te方法的方法的最長執(zhí)行時間,單位是秒。默認值是最長執(zhí)行時間,單位是秒。默認值是3030秒,可以根據(jù)秒,可以根據(jù)需要設置大小,如果要無限制的執(zhí)行下去,則設置為需要設置大小,如果要無限制的執(zhí)行下去,則設置為0 0。語法為:。語法為: CommandCommand對象對象. . CommandtimeoutCommandtimeout = =整數(shù)值整數(shù)值nPreparedPrepared:設置:設置CommandtextCommandtext屬性所指定的操作命令是屬性所指定的操作命令是否先行編譯,存儲。對于經常使用的查詢語句,可以否先行編譯,存儲。對于經常使用的查詢語句,可以將它進行編譯、存儲,第
23、一遍執(zhí)行時會慢一些,以后將它進行編譯、存儲,第一遍執(zhí)行時會慢一些,以后執(zhí)行時,速度可以明顯加快。它的取值為執(zhí)行時,速度可以明顯加快。它的取值為TrueTrue或或FalseFalse。語法為:。語法為: CommandCommand對象對象. . CommandtimeoutCommandtimeout =True =True或或FalseFalseCopyright 2005 河北大學 計算中心9.3.3Command對象的方法對象的方法nExecuteExecute:執(zhí)行對數(shù)據(jù)庫的各種操作。對數(shù)據(jù)庫的操:執(zhí)行對數(shù)據(jù)庫的各種操作。對數(shù)據(jù)庫的操作可以歸納為增加、刪除、更新和查詢。作可以歸納為增
24、加、刪除、更新和查詢。 如果執(zhí)行增加、刪除和更新操作,沒有返回值。語法為:如果執(zhí)行增加、刪除和更新操作,沒有返回值。語法為:- CommandCommand對象對象.execute.execute 如果執(zhí)行查詢操作,則返回一個記錄集合,需要創(chuàng)建一個如果執(zhí)行查詢操作,則返回一個記錄集合,需要創(chuàng)建一個recordsetrecordset對象來接受這個記錄集。關于對象來接受這個記錄集。關于recordsetrecordset對象的對象的主要使用方法在主要使用方法在9.49.4節(jié)做詳細的介紹,這里給出一種較簡單節(jié)做詳細的介紹,這里給出一種較簡單的創(chuàng)建方法。語法為:的創(chuàng)建方法。語法為:- Set Set
25、 recordsetrecordset對象對象=Command=Command對象對象.execute.executenCreateparameterCreateparameter:創(chuàng)建:創(chuàng)建parameterparameter子對象,主要用于子對象,主要用于參數(shù)查詢。在參數(shù)查詢。在.5小節(jié)對參數(shù)查詢作詳細的介紹。小節(jié)對參數(shù)查詢作詳細的介紹。Copyright 2005 河北大學 計算中心9.3.4在在Command對象中使用對象中使用SQL語句語句n通過設置通過設置CommandCommand對象的對象的CommandtextCommandtext屬性,可以使屬性,可以使用用
26、SQLSQL語句、表和查詢對數(shù)據(jù)庫進行存取,其中使語句、表和查詢對數(shù)據(jù)庫進行存取,其中使用用SQLSQL語句是最簡單的形式。語法為:語句是最簡單的形式。語法為: CommandCommand對象對象. .CommandtextCommandtext=SQL=SQL語句語句nSQLSQL語句中的條件部分對數(shù)據(jù)進行篩選,條件可以語句中的條件部分對數(shù)據(jù)進行篩選,條件可以是常量表達式或者變量表達式,下面分別介紹兩種是常量表達式或者變量表達式,下面分別介紹兩種形式的形式的SQLSQL語句在語句在CommandCommand對象中的應用??梢韵仍趯ο笾械膽谩?梢韵仍跀?shù)據(jù)庫中調試好數(shù)據(jù)庫中調試好SQLSQ
27、L語句,然后拿過來用。語句,然后拿過來用。Copyright 2005 河北大學 計算中心1.常量條件常量條件n這類這類SQLSQL語句中,條件表達式是確定的。語句中,條件表達式是確定的。n例如:查詢女同學的信息,對應的例如:查詢女同學的信息,對應的SQLSQL語句為:語句為: Select Select * * from from xsxxxsxx where where xbxb=女女 n把該語句設置為把該語句設置為CommandCommand對象的對象的CommandtextCommandtext屬性,屬性,如下如下 %Copyright 2005 河北大學 計算中心2.變量條件變量條件
28、n這類這類SQLSQL語句中,條件表達式是確定的。語句中,條件表達式是確定的。n例如:查詢女同學的信息,對應的例如:查詢女同學的信息,對應的SQLSQL語句為:語句為: Select Select * * from from xsxxxsxx where where xbxb=女女 n把該語句設置為把該語句設置為CommandCommand對象的對象的CommandtextCommandtext屬性,屬性,如下如下 %Copyright 2005 河北大學 計算中心9.3.5在在Command對象中使用表和非參數(shù)查詢對象中使用表和非參數(shù)查詢n1.1.使用表使用表有的時候我們需要獲取整個表的全部
29、數(shù)據(jù),這種情況下可以設置有的時候我們需要獲取整個表的全部數(shù)據(jù),這種情況下可以設置commandtextcommandtext屬性取值為相應的表名。語法為:屬性取值為相應的表名。語法為: CommandCommand對象對象. .CommandtextCommandtext= =表名表名n2.2.使用非參數(shù)查詢使用非參數(shù)查詢在上一章,介紹了通過書寫在上一章,介紹了通過書寫SQLSQL語句創(chuàng)建查詢的方法。通過設置語句創(chuàng)建查詢的方法。通過設置commandtextcommandtext屬性的取值為查詢名,可以執(zhí)行相應的查詢。這樣做的好屬性的取值為查詢名,可以執(zhí)行相應的查詢。這樣做的好處有三個:處有三
30、個: (1 1)在)在AccessAccess數(shù)據(jù)庫中創(chuàng)建查詢比在網(wǎng)頁中直接書寫數(shù)據(jù)庫中創(chuàng)建查詢比在網(wǎng)頁中直接書寫SQLSQL語句更容易,語句更容易,更方便。更方便。 (2 2)在)在AccessAccess數(shù)據(jù)庫中創(chuàng)建查詢更安全,這樣在網(wǎng)頁屏蔽了數(shù)據(jù)庫的數(shù)據(jù)庫中創(chuàng)建查詢更安全,這樣在網(wǎng)頁屏蔽了數(shù)據(jù)庫的結構信息,減小了系統(tǒng)風險。結構信息,減小了系統(tǒng)風險。 (3 3)在)在AccessAccess數(shù)據(jù)庫中創(chuàng)建查詢,在網(wǎng)頁中引用查詢名,使數(shù)據(jù)庫的數(shù)據(jù)庫中創(chuàng)建查詢,在網(wǎng)頁中引用查詢名,使數(shù)據(jù)庫的設計開發(fā)和網(wǎng)頁程序的開發(fā)相對獨立,便于分工合作。設計開發(fā)和網(wǎng)頁程序的開發(fā)相對獨立,便于分工合作。Copyr
31、ight 2005 河北大學 計算中心9.3.6使用參數(shù)查詢使用參數(shù)查詢n在數(shù)據(jù)庫中使用參數(shù)查詢可以由用戶決定查詢的內在數(shù)據(jù)庫中使用參數(shù)查詢可以由用戶決定查詢的內容,類似前面的在容,類似前面的在SQLSQL語句中使用變量的形式。語句中使用變量的形式。n在在CommandCommand對象中使用參數(shù)查詢的方法是:首先創(chuàng)對象中使用參數(shù)查詢的方法是:首先創(chuàng)建參數(shù)對象建參數(shù)對象ParameterParameter,然后把參數(shù)變量添加到參,然后把參數(shù)變量添加到參數(shù)集合數(shù)集合ParametersParameters,最后設置,最后設置CommandCommand對象的屬性對象的屬性,執(zhí)行查詢操作。,執(zhí)行查
32、詢操作。Copyright 2005 河北大學 計算中心1.創(chuàng)建參數(shù)對象創(chuàng)建參數(shù)對象 nCommandCommand對象提供了對象提供了CreateparameterCreateparameter方法創(chuàng)建參數(shù)對象,方法創(chuàng)建參數(shù)對象,語法為:語法為: Set ParameterSet Parameter對象對象=Command=Command對象對象. . Createparameter(name,type,direction,size,valueCreateparameter(name,type,direction,size,value) )參數(shù)參數(shù)說明說明NameName參數(shù)名稱參數(shù)名稱Ty
33、peType參數(shù)類型可以省略參數(shù)類型可以省略DirectionDirection參數(shù)方向可以省略參數(shù)方向可以省略SizeSize參數(shù)大小可以省略參數(shù)大小可以省略ValueValue參數(shù)值參數(shù)值Copyright 2005 河北大學 計算中心參數(shù)說明參數(shù)說明 變長字符串變長字符串200200雙精度雙精度5 5單精度單精度4 4整數(shù)類型整數(shù)類型3 3時間日期類型時間日期類型135135說明說明取值取值Type參數(shù)取值 取值取值說明說明1 1傳入(默認值)傳入(默認值)2 2傳出傳出3 3傳入傳出傳入傳出Direction參數(shù)取值 Copyright 2005 河北大學 計算中心示例示例% )%Co
34、pyright 2005 河北大學 計算中心2.添加到參數(shù)對象集合添加到參數(shù)對象集合 nCommandCommand對象擁有一個參數(shù)集合對象擁有一個參數(shù)集合ParametersParameters,必須,必須把創(chuàng)建的參數(shù)加入到參數(shù)集合中。參數(shù)集合把創(chuàng)建的參數(shù)加入到參數(shù)集合中。參數(shù)集合ParametersParameters的方法的方法AppendAppend可以增加參數(shù),語法為:可以增加參數(shù),語法為: CommandCommand對象對象. Parameters. Append Parameter. Parameters. Append Parameter對象對象n例如:把上例中創(chuàng)建的參數(shù)加入
35、到例如:把上例中創(chuàng)建的參數(shù)加入到CommandCommand對象的對象的參數(shù)集合中,代碼如下:參數(shù)集合中,代碼如下: %Copyright 2005 河北大學 計算中心9.3.6Command對象操作示例對象操作示例1.查詢操作查詢操作2.增加操作增加操作3.刪除操作刪除操作4.更新操作更新操作Copyright 2005 河北大學 計算中心9.4Recordset對象對象如果Command對象對數(shù)據(jù)庫執(zhí)行的是查詢操作,那么從數(shù)據(jù)庫中返回到ASP文件的查詢結果要創(chuàng)建recordset對象來接受。Recordset對象和前面介紹的數(shù)據(jù)庫中的表有相似的地方,由字段名構成記錄集的結構,下面是數(shù)據(jù)區(qū)域
36、,如圖所示。數(shù)據(jù)區(qū)域有兩個特殊的位置bof和eof, bof是記錄集數(shù)據(jù)區(qū)域的開始,eof是記錄集數(shù)據(jù)區(qū)域的結尾,中間位置是記錄的集合。在數(shù)據(jù)區(qū)域中存在一個指針,指針可以在bof、eof和記錄間移動。當指針指向一條記錄時,那條記錄就是當前記錄,只能對當前記錄操作,任何時候當前記錄只能有一條。Copyright 2005 河北大學 計算中心Recordset對象示意圖對象示意圖圖9.11 Recordset對象Copyright 2005 河北大學 計算中心9.4.1創(chuàng)建創(chuàng)建Recordset對象對象n前面我們介紹一種簡單的前面我們介紹一種簡單的recordsetrecordset對象創(chuàng)建的方法
37、,由對象創(chuàng)建的方法,由CommandCommand對象的對象的executeexecute方法執(zhí)行,直接創(chuàng)建。語法為:方法執(zhí)行,直接創(chuàng)建。語法為: Set Set RecordsetRecordset對象對象=Command=Command對象對象.execute.executen這種方法中這種方法中RecordsetRecordset對象的屬性采用的默認值,不能完全對象的屬性采用的默認值,不能完全使用使用RecordsetRecordset對象的功能。下面提供另外的使用方法:創(chuàng)對象的功能。下面提供另外的使用方法:創(chuàng)建建RecordsetRecordset對象對象,然后設置對象對象,然后設置R
38、ecordsetRecordset對象的屬性,對象的屬性,最后執(zhí)行最后執(zhí)行RecordsetRecordset對象的方法。對象的方法。n首先介紹首先介紹RecordsetRecordset對象的創(chuàng)建方法,對象的創(chuàng)建方法,RecordsetRecordset對象的創(chuàng)對象的創(chuàng)建和建和connectionconnection對象,對象,CommandCommand對象的創(chuàng)建相似,要使用對象的創(chuàng)建相似,要使用serverserver對象的對象的CreateobjectCreateobject方法。語法為:方法。語法為: %Set ”)%Copyright 2005 河北大學 計算中心9.4.2Reco
39、rdset對象的屬性對象的屬性nSourceSource:用于設置數(shù)據(jù)庫的查詢信息,可以是:用于設置數(shù)據(jù)庫的查詢信息,可以是SQLSQL語語句、表或查詢。語法為:句、表或查詢。語法為: RecordsetRecordset 對象對象. Source =SQL. Source =SQL語句、表和查詢語句、表和查詢nActiveconnectionActiveconnection:用于設置數(shù)據(jù)庫的連接信息,:用于設置數(shù)據(jù)庫的連接信息,可以是數(shù)據(jù)源、連接字符串或者可以是數(shù)據(jù)源、連接字符串或者connectionconnection對象。其對象。其中中connectionconnection對象必須已
40、經打開。語法為:對象必須已經打開。語法為: RecordsetRecordset 對象對象. . ActiveconnectionActiveconnection = =數(shù)據(jù)源、連接字符數(shù)據(jù)源、連接字符串或者串或者connectionconnection對象對象Copyright 2005 河北大學 計算中心9.4.2Recordset對象的屬性對象的屬性nCursortypeCursortype:設置記錄集中指針的類型。語法為:設置記錄集中指針的類型。語法為: RecordsetRecordset 對象對象. . CursortypeCursortype = =取值取值 Copyright
41、2005 河北大學 計算中心CursortypeCursortype取值取值取值取值說明說明0 0向下指針,只能利用向下指針,只能利用movenextmovenext方法方法向下移動,默認值。向下移動,默認值。1 1鍵盤指針,可以向下向上移動。能鍵盤指針,可以向下向上移動。能夠看到其他用戶所做的修改,但是夠看到其他用戶所做的修改,但是看不到增加和刪除的記錄。看不到增加和刪除的記錄。2 2動態(tài)指針,可以向下向上移動。能動態(tài)指針,可以向下向上移動。能夠看到其他用戶所做的增加,刪除夠看到其他用戶所做的增加,刪除和修改的記錄。和修改的記錄。3 3靜態(tài)指針,可以向下向上移動。不靜態(tài)指針,可以向下向上移動
42、。不能看到其他用戶所做的修改,增加能看到其他用戶所做的修改,增加和刪除的記錄。和刪除的記錄。Copyright 2005 河北大學 計算中心Recordset對象的屬性對象的屬性nBofBof:該屬性用于判斷指針當前是否在記錄集的開頭,如果:該屬性用于判斷指針當前是否在記錄集的開頭,如果在開頭返回在開頭返回truetrue,否則返回,否則返回falsefalse。語法為:。語法為: RecordsetRecordset 對象對象. . BofBofnEofEof:該屬性用于判斷指針當前是否在記錄集的結尾,如果:該屬性用于判斷指針當前是否在記錄集的結尾,如果在結尾返回在結尾返回truetrue,
43、否則返回,否則返回falsefalse。語法為:。語法為: RecordsetRecordset 對象對象. . BofBofn當當BofBof和和EofEof取值都為取值都為truetrue時,記錄集為空,因此可以使用這時,記錄集為空,因此可以使用這種方法判斷記錄集是否為空集,不為空對應的代碼位為:種方法判斷記錄集是否為空集,不為空對應的代碼位為:% If end if%Copyright 2005 河北大學 計算中心Recordset對象的屬性對象的屬性nRecordcountRecordcount:返回記錄集中記錄總數(shù)。該屬性要求:返回記錄集中記錄總數(shù)。該屬性要求CursortypeCu
44、rsortype屬性為屬性為1 1或者或者3 3,否則出錯。,否則出錯。Copyright 2005 河北大學 計算中心9.4.4Recordset對象的方法對象的方法RecordsetRecordset對象方法比較多,這里選取了常用的方法,對象方法比較多,這里選取了常用的方法,并分成兩組:基本方法和記錄定位方法。首先介紹基本方法。并分成兩組:基本方法和記錄定位方法。首先介紹基本方法。nOpenOpen方法:打開記錄集,設置完成記錄集的屬性,可以打開記方法:打開記錄集,設置完成記錄集的屬性,可以打開記錄集。打開記錄集時,如果記錄集不空,指針指向第一條記錄;錄集。打開記錄集時,如果記錄集不空,指
45、針指向第一條記錄;為空時,為空時,bofbof和和eofeof重合,指針指向同一位置。語法為:重合,指針指向同一位置。語法為:RecordsetRecordset 對象對象.open.opennCloseClose方法:關閉記錄集,當不再使用時及時關閉。語法為:方法:關閉記錄集,當不再使用時及時關閉。語法為:RecordsetRecordset 對象對象.close.closeRecordsetRecordset 對象的用法很靈活,這里介紹兩種常用的方法:對象的用法很靈活,這里介紹兩種常用的方法:使用使用commandcommand對象直接創(chuàng)建對象直接創(chuàng)建使用使用openopen方法打開記錄集
46、方法打開記錄集Copyright 2005 河北大學 計算中心1.使用使用command對象直接創(chuàng)建對象直接創(chuàng)建 n這種方法前面已經介紹過,使用這種方法前面已經介紹過,使用commandcommand對象的對象的executeexecute方法,直接創(chuàng)建一個方法,直接創(chuàng)建一個RecordsetRecordset對象。語法對象。語法為:為:Set Set RecordsetRecordset對象對象=Command=Command對象對象.execute.executen此時此時RecordsetRecordset對象對象的屬性都是默認值,因此功對象對象的屬性都是默認值,因此功能弱一些。能弱一些
47、。 Copyright 2005 河北大學 計算中心2. 使用使用open方法打開記錄集方法打開記錄集n這種方法首先設置這種方法首先設置RecordsetRecordset的屬性,然后執(zhí)行的屬性,然后執(zhí)行openopen方法。方法。RecordsetRecordset的屬性中的屬性中activeconnectionactiveconnection屬性的屬性的取值比較靈活,如下:取值比較靈活,如下: RecordsetRecordset 對象對象. . ActiveconnectionActiveconnection = =數(shù)據(jù)源、連接字符數(shù)據(jù)源、連接字符串或已打開的串或已打開的connecti
48、onconnection對象對象Copyright 2005 河北大學 計算中心9.4.5記錄集的操作記錄集的操作n通過通過CommandCommand對象可以直接對數(shù)據(jù)進行增加、刪除對象可以直接對數(shù)據(jù)進行增加、刪除和修改,記錄集可以完成這些功能,但記錄集的主和修改,記錄集可以完成這些功能,但記錄集的主要操作是讀取并顯示數(shù)據(jù)。要操作是讀取并顯示數(shù)據(jù)。n本書主要介紹使用記錄集讀取數(shù)據(jù),操作分為兩部本書主要介紹使用記錄集讀取數(shù)據(jù),操作分為兩部分:記錄定位和讀取。分:記錄定位和讀取。Copyright 2005 河北大學 計算中心1.記錄定位的方法記錄定位的方法n方法說明如下:方法說明如下: Mov
49、efirstMovefirst:將指針移動到第一條記錄。:將指針移動到第一條記錄。 MovelastMovelast:將指針移動到最后一條記錄。:將指針移動到最后一條記錄。 MovenextMovenext:移動到下一條記錄。:移動到下一條記錄。 MovepreviousMoveprevious:移動到前一條記錄。:移動到前一條記錄。n以上四個方法的語法為:以上四個方法的語法為: RecordsetRecordset對象對象. .方法方法Copyright 2005 河北大學 計算中心1.記錄定位的方法記錄定位的方法nMoveMove:移動到指定的記錄。語法為:移動到指定的記錄。語法為: Re
50、cordsetRecordset對象對象.move .move number,startnumber,startn參數(shù)意義如下:參數(shù)意義如下: StartStart:設置指針移動的開始位置,如果省略,默認為:設置指針移動的開始位置,如果省略,默認為當前指針。當前指針。 NumberNumber:指針移動的記錄的數(shù)量。正數(shù)時向下移動,負:指針移動的記錄的數(shù)量。正數(shù)時向下移動,負數(shù)時向上移動。數(shù)時向上移動。n例如:例如:% 5,3% 表示從第表示從第3 3條記錄向下移動條記錄向下移動5 5條記錄。條記錄。Copyright 2005 河北大學 計算中心注意的問題注意的問題n移動記錄要注意的問題:移動記錄要注意的問題: (1 1)除了)除了movenextmovenext以外,其他的方法都需要設置指針以外,其他的方法都需要設置指針類型類型CursortypeCursortype屬性為屬性為1 1。 (2 2)移動到)移動到eofeof時,如果繼續(xù)向下移動,就會出錯;移時,如果繼續(xù)向下移動,就會出錯;移動到動到bofbof時,如果繼續(xù)向上移動,也會出錯。因此,移時,如果繼續(xù)向上移動,也會出錯。因此,移動指針前要使用動指針前要使用bofbof和和eofeof判斷是否達到了記錄集的開始判斷是否達到了記錄集的開始和結尾。和結尾。 (3 3)movenextmovene
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東省薄膜及設備行業(yè)清潔生產評價技術規(guī)范 績效考核
- 應急準備和響應控制程序
- 描寫農歷新年祝福優(yōu)美描述50句
- 關于運動會的優(yōu)美句子
- 《難忘的運動會》作文素材優(yōu)美句子
- 裝卸搬運合同范本范文
- 裝飾裝修工程施工合同標準文本
- 人際關系中的影響力和控制力
- 專題11浮力、阿基米德原理(含答案) 2024全國初中物理自主招生專題大揭秘
- 2023-2024學年全國初中八年級下歷史人教版期末考卷(含答案解析)
- hsk教程6上課本相關練習參考答案
- 普外科護理-急性闌尾炎病人的護理(課件ppt)
- 化工儀表知識講解課件
- 小學數(shù)學西南師大四年級上冊三角畫角 PPT
- 《重心法在企業(yè)選址中的應用案例【10000字】》
- 泌尿外科常見疾病的診治思路
- 網(wǎng)絡安全知識考試題庫(精簡500題)
- 2022年北京市西城區(qū)社區(qū)工作者招聘筆試題庫及答案解析
- 2022年鹽城職稱考試公共試題和答案原卷
- 農村寄宿制學校建設和管理經驗資料
- 固定資產卡片(臺賬)樣本
評論
0/150
提交評論