版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ADO對(duì)象模型
——asp中的使用7ADO對(duì)象模型ADO對(duì)象模型創(chuàng)建:setcon=Server.CreateObject("ADODB.Connection")屬性:
ConnectionString
ConnectionTimeoutMode方法:
OpenExecuteBeginTrans
CommitTrans
RollbackTransClose
注意:Execute可返回Recordset對(duì)象訪(fǎng)問(wèn):seterrs=con.errors集合屬性:count元素屬性:sourcedescriptionRecordSet和Command對(duì)象,通過(guò)它們的屬性ActiveConnection可訪(fǎng)問(wèn)集合Errors的上層元素connection,然后再用Errors屬性訪(fǎng)問(wèn)集合。
seterrs=rs.ActiveConnection.Errorsseterrs=cmd.ActiveConnection.Errors顯示集合中的元素內(nèi)容
seterrs=rs.ActiveConnection.ErrorsForeachiteminerrs
response.write"錯(cuò)誤源是:"&item.source
response.write"錯(cuò)誤詳情:"&item.description
response.write"<hr>"nextADO對(duì)象模型創(chuàng)建:setcmd=Server.CreateObject("ADODB.Command")屬性:ActiveConnection
已打開(kāi)的連接或連接參數(shù)字符串CommandText
設(shè)置SQL語(yǔ)句CommandType
指定命令類(lèi)型以?xún)?yōu)化性能CommandTimeout
設(shè)置等待命令執(zhí)行的秒數(shù)*Parameter(s) 定義參數(shù)化查詢(xún)或存儲(chǔ)過(guò)程參數(shù)*Prepared 執(zhí)行前是否保存命令的編譯版本方法:Execute 執(zhí)行命令并在適當(dāng)?shù)臅r(shí)候返回Recordset
對(duì)象setrs=con.execute("select
xh,xmfromxswherenl>=20",,AdCmdText)或setcmd=Server.CreateObject("ADODB.Command")setcmd.ActiveConnection=concmd.CommandText="select*fromxs"cmd.CommandType=AdCmdTextsetrs=cmd.Execute
都能生成Recordset對(duì)象rs-再進(jìn)入二重循環(huán)處理rs中的所有數(shù)據(jù)
Recordset
對(duì)象Recordset對(duì)象概述來(lái)自基本表或命令執(zhí)行結(jié)果的記錄全集。通過(guò)Recordset
對(duì)象可對(duì)幾乎所有數(shù)據(jù)進(jìn)行操作。以查詢(xún)?yōu)橹?,也可以用?lái)更新數(shù)據(jù)。所有Recordset
對(duì)象均使用記錄(行)和字段(列)進(jìn)行構(gòu)造。任何時(shí)候,Recordset
對(duì)象所指的當(dāng)前記錄均為集合內(nèi)的單個(gè)記錄。理解為Recordset
對(duì)象有一個(gè)指針指向當(dāng)前記錄,可以移動(dòng)該指針以遍歷全部記錄。使用步驟使用的一般過(guò)程1創(chuàng)建Recordset對(duì)象
setrs=Server.CreateObject("ADODB.Recordset")2設(shè)置連接信息
setconn=Server.CreateObject("ADODB.Connection")conn.open"DSN=mydb"
rs.ActiveConnection=con3打開(kāi)數(shù)據(jù)集
rs.open"SQL語(yǔ)句"4處理并顯示數(shù)據(jù)使用步驟-續(xù)14處理并顯示數(shù)據(jù)
r=0'行計(jì)數(shù)
dountilrs.eof'還沒(méi)到記錄末重復(fù)
r=r+1c=0'列計(jì)數(shù)
foreachiteminrs.fields'當(dāng)前行的列集合
c=c+1 response.write"第"&r&"行第"&c&"列是"&&"值是"&item next
rs.MoveNext'后移一行
loop使用步驟-續(xù)25如需要將Recordset中的內(nèi)容保存到文件中
rs.Save"FileName",PersistFormat
PersistFormat可選項(xiàng),取值為
adPersistADTG(默認(rèn))使用專(zhuān)用的“AdvancedDataTablegram”格式保存。
adPersistXML使用XML格式保存。移動(dòng)和書(shū)簽方法MoveFirst
MoveLast
MoveNext
MovePrevious和MovenumRows[,Start]****Start
可選,字符串或變體型,為書(shū)簽。也可為下列BookmarkEnum
值之一:AdBookmarkCurrent
默認(rèn)。從當(dāng)前記錄開(kāi)始。AdBookmarkFirst
從首記錄開(kāi)始。AdBookmarkLast
從尾記錄開(kāi)始。Bookmark屬性設(shè)置或返回標(biāo)識(shí)Recordset
對(duì)象中當(dāng)前記錄的書(shū)簽。書(shū)簽只能在支持書(shū)簽功能的Recordset
對(duì)象中使用。移動(dòng)和書(shū)簽例varBookmark=rs.Bookmarkrs.Move0,varBookmarkrs.Move–1'回退同
rs.MovePreviousrs.Move1'前進(jìn)同rs.MoveNext增加新記錄AddNew[Fields,values]例varF=Array("xh","xm","nl")
varV=Array("B0101001","LiPing",19)
rs.AddNew
varF,varV或
rs.AddNew
rs("xh")=request.form("xh")
rs("xm")=request.form("xm")
rs("nl")=request.form("nl")最后再rs.Update
完成一條記錄的插入批量更新記錄rs.CursorType=adOpenKeysetrs.LockType=adLockBatchOptimisticrs.Open"xs","DSN=mydb",,,adCmdTable
DoUntilrs.EOF
xs("nl")=xs("nl")+1
rstTitles.MoveNext
Loop
rs.UpdateBatch'<==>rs.CancelBatch
rs.Close批量更新方法UpdateBatch
AffectRecordsCancelBatch
AffectRecords
參數(shù)AffectRecords
可選,決定UpdateBatch
CancelBatch方法所影響的記錄數(shù)adAffectCurrent只影響當(dāng)前記錄。adAffectGroup影響滿(mǎn)足當(dāng)前Filter屬性設(shè)置的記錄。必須將Filter屬性設(shè)置為某個(gè)有效的預(yù)定義常量才能使用該選項(xiàng)。adAffectAll(默認(rèn)值)。Recordset
對(duì)象中所有記錄,包括由于當(dāng)前Filter屬性設(shè)置而隱藏的任何記錄。UpdateBatch
另有adAffectAllChapters寫(xiě)入所有子集更改。
批量更新注意項(xiàng)記錄集的打開(kāi)涉及兩種參數(shù)CursorType和LockTypeCursorType取值(依次為0123):AdOpenForwardOnly
默認(rèn)值,同靜態(tài)游標(biāo),可提高性能。AdOpenKeyset
鍵集,不能訪(fǎng)問(wèn)他人刪除的記錄,也無(wú)法查看他人添加的記錄,但可看見(jiàn)他人更改的數(shù)據(jù)。AdOpenDynamic
動(dòng)態(tài),可以看見(jiàn)他人所作的添加、更改和刪除。允許在記錄集中進(jìn)行所有類(lèi)型的移動(dòng),但不包括提供者不支持的書(shū)簽操作。AdOpenStatic
靜態(tài),可以用來(lái)查找數(shù)據(jù)或生成報(bào)告的記錄集合的靜態(tài)副本??床灰?jiàn)他人所作的添加、更改或刪除操作結(jié)果批量更新注意項(xiàng)-續(xù)1LockType取值(依次為1234):adLockReadOnly
默認(rèn)值,只讀。無(wú)法更改數(shù)據(jù)。adLockPessimistic
悲觀式鎖定,確保能成功,通常在編輯時(shí)立即鎖定數(shù)據(jù)源的記錄。adLockOptimistic樂(lè)觀式鎖定,只在調(diào)用Update方法時(shí)鎖定記錄。adLockBatchOptimistic
樂(lè)觀式批更新。用于與立即更新模式相反的批更新模式。CursorType
和LockType都有四種取值,共有16種組合可用于批量更新的也很多,但如下的組合不行:批量更新注意項(xiàng)-續(xù)2CursorTypeLockType結(jié)果AdOpenForwardOnly僅前移0adLockOptimistic樂(lè)觀式鎖3數(shù)據(jù)錯(cuò)adLockBatchOptimistic樂(lè)觀式批更新鎖4語(yǔ)法錯(cuò)AdOpenDynamic
動(dòng)態(tài)2LockType中的AdLockReadOnly取值是只讀,即不能通過(guò)Recordset來(lái)更新數(shù)據(jù)的刪除delete[AffectRecords]
AffectRecords是可選項(xiàng),取值為
AdAffectCurrent
默認(rèn)。僅刪除當(dāng)前記錄。
AdAffectGroup
刪除滿(mǎn)足當(dāng)前
Filter屬性設(shè)置的記錄。要使用該選項(xiàng),必須先設(shè)置
Filter屬性。
AdAffectAll刪除所有記錄。
AdAffectAllChapters刪除所有子集記錄。如:
rs.delete
adAffectAll
rs.updatebatch同步和刷新Resync從基本數(shù)據(jù)庫(kù)刷新當(dāng)前Recordset
對(duì)象中的數(shù)據(jù)Requery
方法
通過(guò)重新執(zhí)行對(duì)象所基于的查詢(xún),更新Recordset對(duì)象中的數(shù)據(jù)。重新發(fā)出原始命令并再次檢索數(shù)據(jù),可使用Requery
方法刷新來(lái)自數(shù)據(jù)源的Recordset
對(duì)象的全部?jī)?nèi)容。調(diào)用該方法等于相繼調(diào)用Close
和Open
方法。如果正在編輯當(dāng)前記錄或者添加新記錄將產(chǎn)生錯(cuò)誤。在Recordset
對(duì)象打開(kāi)期間,定義游標(biāo)性質(zhì)(CursorType、LockType、MaxRecords
等)的屬性為只讀,因此Requery
方法只能刷新當(dāng)前游標(biāo)。要更改某個(gè)游標(biāo)屬性并查看結(jié)果,必須使用
Close方法使屬性再次成為讀/寫(xiě)。然后可以更改屬性設(shè)置并且調(diào)用Open方法重新打開(kāi)游標(biāo)。重視OpenOpenSource,ActiveConnection,CursorType,LockType,OptionsSource是SQL語(yǔ)句,表名也行
ActiveConnection是Connectioin對(duì)象,連接參數(shù)串也行
Options是Source的類(lèi)型可取值為
adCmdText
adCmdTable
adCmdTableDirect
adCmdStoredProc
adCmdUnknown
adCmdFile
adAsyncExecute
等這些參數(shù)都可以通過(guò)屬性先賦給Recordset對(duì)象,再簡(jiǎn)單的調(diào)用open打開(kāi)Filter為Recordset
中的數(shù)據(jù)指定篩選條件。R|W可以設(shè)置的值有:條件字符串由一個(gè)或多個(gè)用
AND或OR操作符連接的子句組成的字符串。需要時(shí)字段名加[],<、>、<=、>=、<>、=或LIKE(*%)書(shū)簽數(shù)組—指向Recordset
對(duì)象中記錄的唯一書(shū)簽值數(shù)組。如下某個(gè)值:AdFilterNone
刪除當(dāng)前篩選條件并恢復(fù)查看的所有記錄。AdFilterPendingRecords
允許只查看已更改且尚未發(fā)送到服務(wù)器的記錄。只能應(yīng)用于批更新模式。AdFilterAffectedRecords允許只查看上一次
Delete、Resync、UpdateBatch或CancelBatch
調(diào)用所影響的記錄。AdFilterFetchedRecords允許查看當(dāng)前緩沖區(qū)中的記錄,即上一次從數(shù)據(jù)庫(kù)中檢索記錄的調(diào)用結(jié)果。AdFilterConflictingRecords允許查看在上一次批更新中失敗的記錄。分頁(yè)顯示屬性PageSize
Recordset中一頁(yè)所包含的記錄數(shù),R|W,默認(rèn)值為10。使用PageSize
屬性可確定組成邏輯數(shù)據(jù)頁(yè)的記錄數(shù)。建立頁(yè)的大小允許使用AbsolutePage
屬性移動(dòng)到特定頁(yè)的第一個(gè)記錄。PageCount返回Recordset
對(duì)象包含的數(shù)據(jù)頁(yè)數(shù)。使用PageCount屬性可確定Recordset
對(duì)象中數(shù)據(jù)的頁(yè)數(shù)。-1表示Recordset
對(duì)象不支持該屬性。AbsolutePageR|W設(shè)置或返回當(dāng)前記錄所在的頁(yè)。取值為1到PageCount;或者返回如下常量:AdPosUnknownRecordset
為空,當(dāng)前位置未知,或者提供者不支持AbsolutePage屬性。AdPosBOF
當(dāng)前記錄指針位于BOF(即BOF屬性為T(mén)rue)。AdPosEOF
當(dāng)前記錄指針位于EOF(即EOF屬性為T(mén)rue)。分頁(yè)顯示例假定檢索結(jié)果有108條記錄
rs.PageSize=10
pcs=rs.PageCount
'則pcs=ceiling(108/10)=ceiling(10.8)=11
顯示request("page")頁(yè),
ip=cint(request("page")ifip<1thenip=1ifip>pcsthenip=pcs
rs.absolutePage=ip分頁(yè)顯示例-續(xù)
pc=0'頁(yè)內(nèi)計(jì)數(shù)
dowhilenotrs.eofan
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)信息化與數(shù)字化管理(標(biāo)準(zhǔn)版)
- 財(cái)務(wù)信息系統(tǒng)安全管理制度
- 辦公室員工培訓(xùn)效果反饋制度
- 辦公室績(jī)效考核與獎(jiǎng)懲制度
- 2026年某物業(yè)國(guó)企單位招聘外包制人員備考題庫(kù)附答案詳解
- 養(yǎng)老院綠化環(huán)境維護(hù)制度
- 安陽(yáng)市新一中學(xué)招聘2026屆部屬公費(fèi)師范生30人備考題庫(kù)及1套參考答案詳解
- 養(yǎng)老院入住資格審核制度
- 2026年集美大學(xué)繼續(xù)教育學(xué)院工作人員招聘?jìng)淇碱}庫(kù)及答案詳解1套
- 2026年振華科技公開(kāi)招聘?jìng)淇碱}庫(kù)附答案詳解
- 2026年中國(guó)航空傳媒有限責(zé)任公司市場(chǎng)化人才招聘?jìng)淇碱}庫(kù)有答案詳解
- 2026年《全科》住院醫(yī)師規(guī)范化培訓(xùn)結(jié)業(yè)理論考試題庫(kù)及答案
- 2026北京大興初二上學(xué)期期末語(yǔ)文試卷和答案
- 重力式擋土墻施工安全措施
- 葫蘆島事業(yè)單位筆試真題2025年附答案
- 2026年公平競(jìng)爭(zhēng)審查知識(shí)競(jìng)賽考試題庫(kù)及答案(一)
- 置業(yè)顧問(wèn)2025年度工作總結(jié)及2026年工作計(jì)劃
- 金華市軌道交通控股集團(tuán)有限公司招聘筆試題庫(kù)2026
- 2025年國(guó)考科技部英文面試題庫(kù)及答案
- 2026年AI輔助教學(xué)設(shè)計(jì)工具應(yīng)用指南與課程優(yōu)化技巧
- 2026屆陜西省西安市高新一中化學(xué)高二上期末聯(lián)考試題含答案
評(píng)論
0/150
提交評(píng)論