




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
ADO對象模型
——asp中的使用7ADO對象模型ADO對象模型創(chuàng)建:setcon=Server.CreateObject("ADODB.Connection")屬性:
ConnectionString
ConnectionTimeoutMode方法:
OpenExecuteBeginTrans
CommitTrans
RollbackTransClose
注意:Execute可返回Recordset對象訪問:seterrs=con.errors集合屬性:count元素屬性:sourcedescriptionRecordSet和Command對象,通過它們的屬性ActiveConnection可訪問集合Errors的上層元素connection,然后再用Errors屬性訪問集合。
seterrs=rs.ActiveConnection.Errorsseterrs=cmd.ActiveConnection.Errors顯示集合中的元素內(nèi)容
seterrs=rs.ActiveConnection.ErrorsForeachiteminerrs
response.write"錯誤源是:"&item.source
response.write"錯誤詳情:"&item.description
response.write"<hr>"nextADO對象模型創(chuàng)建:setcmd=Server.CreateObject("ADODB.Command")屬性:ActiveConnection
已打開的連接或連接參數(shù)字符串CommandText
設置SQL語句CommandType
指定命令類型以優(yōu)化性能CommandTimeout
設置等待命令執(zhí)行的秒數(shù)*Parameter(s) 定義參數(shù)化查詢或存儲過程參數(shù)*Prepared 執(zhí)行前是否保存命令的編譯版本方法:Execute 執(zhí)行命令并在適當?shù)臅r候返回Recordset
對象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對象rs-再進入二重循環(huán)處理rs中的所有數(shù)據(jù)
Recordset
對象Recordset對象概述來自基本表或命令執(zhí)行結果的記錄全集。通過Recordset
對象可對幾乎所有數(shù)據(jù)進行操作。以查詢?yōu)橹?,也可以用來更新?shù)據(jù)。所有Recordset
對象均使用記錄(行)和字段(列)進行構造。任何時候,Recordset
對象所指的當前記錄均為集合內(nèi)的單個記錄。理解為Recordset
對象有一個指針指向當前記錄,可以移動該指針以遍歷全部記錄。使用步驟使用的一般過程1創(chuàng)建Recordset對象
setrs=Server.CreateObject("ADODB.Recordset")2設置連接信息
setconn=Server.CreateObject("ADODB.Connection")conn.open"DSN=mydb"
rs.ActiveConnection=con3打開數(shù)據(jù)集
rs.open"SQL語句"4處理并顯示數(shù)據(jù)使用步驟-續(xù)14處理并顯示數(shù)據(jù)
r=0'行計數(shù)
dountilrs.eof'還沒到記錄末重復
r=r+1c=0'列計數(shù)
foreachiteminrs.fields'當前行的列集合
c=c+1 response.write"第"&r&"行第"&c&"列是"&&"值是"&item next
rs.MoveNext'后移一行
loop使用步驟-續(xù)25如需要將Recordset中的內(nèi)容保存到文件中
rs.Save"FileName",PersistFormat
PersistFormat可選項,取值為
adPersistADTG(默認)使用專用的“AdvancedDataTablegram”格式保存。
adPersistXML使用XML格式保存。移動和書簽方法MoveFirst
MoveLast
MoveNext
MovePrevious和MovenumRows[,Start]****Start
可選,字符串或變體型,為書簽。也可為下列BookmarkEnum
值之一:AdBookmarkCurrent
默認。從當前記錄開始。AdBookmarkFirst
從首記錄開始。AdBookmarkLast
從尾記錄開始。Bookmark屬性設置或返回標識Recordset
對象中當前記錄的書簽。書簽只能在支持書簽功能的Recordset
對象中使用。移動和書簽例varBookmark=rs.Bookmarkrs.Move0,varBookmarkrs.Move–1'回退同
rs.MovePreviousrs.Move1'前進同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只影響當前記錄。adAffectGroup影響滿足當前Filter屬性設置的記錄。必須將Filter屬性設置為某個有效的預定義常量才能使用該選項。adAffectAll(默認值)。Recordset
對象中所有記錄,包括由于當前Filter屬性設置而隱藏的任何記錄。UpdateBatch
另有adAffectAllChapters寫入所有子集更改。
批量更新注意項記錄集的打開涉及兩種參數(shù)CursorType和LockTypeCursorType取值(依次為0123):AdOpenForwardOnly
默認值,同靜態(tài)游標,可提高性能。AdOpenKeyset
鍵集,不能訪問他人刪除的記錄,也無法查看他人添加的記錄,但可看見他人更改的數(shù)據(jù)。AdOpenDynamic
動態(tài),可以看見他人所作的添加、更改和刪除。允許在記錄集中進行所有類型的移動,但不包括提供者不支持的書簽操作。AdOpenStatic
靜態(tài),可以用來查找數(shù)據(jù)或生成報告的記錄集合的靜態(tài)副本??床灰娝怂鞯奶砑?、更改或刪除操作結果批量更新注意項-續(xù)1LockType取值(依次為1234):adLockReadOnly
默認值,只讀。無法更改數(shù)據(jù)。adLockPessimistic
悲觀式鎖定,確保能成功,通常在編輯時立即鎖定數(shù)據(jù)源的記錄。adLockOptimistic樂觀式鎖定,只在調(diào)用Update方法時鎖定記錄。adLockBatchOptimistic
樂觀式批更新。用于與立即更新模式相反的批更新模式。CursorType
和LockType都有四種取值,共有16種組合可用于批量更新的也很多,但如下的組合不行:批量更新注意項-續(xù)2CursorTypeLockType結果AdOpenForwardOnly僅前移0adLockOptimistic樂觀式鎖3數(shù)據(jù)錯adLockBatchOptimistic樂觀式批更新鎖4語法錯AdOpenDynamic
動態(tài)2LockType中的AdLockReadOnly取值是只讀,即不能通過Recordset來更新數(shù)據(jù)的刪除delete[AffectRecords]
AffectRecords是可選項,取值為
AdAffectCurrent
默認。僅刪除當前記錄。
AdAffectGroup
刪除滿足當前
Filter屬性設置的記錄。要使用該選項,必須先設置
Filter屬性。
AdAffectAll刪除所有記錄。
AdAffectAllChapters刪除所有子集記錄。如:
rs.delete
adAffectAll
rs.updatebatch同步和刷新Resync從基本數(shù)據(jù)庫刷新當前Recordset
對象中的數(shù)據(jù)Requery
方法
通過重新執(zhí)行對象所基于的查詢,更新Recordset對象中的數(shù)據(jù)。重新發(fā)出原始命令并再次檢索數(shù)據(jù),可使用Requery
方法刷新來自數(shù)據(jù)源的Recordset
對象的全部內(nèi)容。調(diào)用該方法等于相繼調(diào)用Close
和Open
方法。如果正在編輯當前記錄或者添加新記錄將產(chǎn)生錯誤。在Recordset
對象打開期間,定義游標性質(zhì)(CursorType、LockType、MaxRecords
等)的屬性為只讀,因此Requery
方法只能刷新當前游標。要更改某個游標屬性并查看結果,必須使用
Close方法使屬性再次成為讀/寫。然后可以更改屬性設置并且調(diào)用Open方法重新打開游標。重視OpenOpenSource,ActiveConnection,CursorType,LockType,OptionsSource是SQL語句,表名也行
ActiveConnection是Connectioin對象,連接參數(shù)串也行
Options是Source的類型可取值為
adCmdText
adCmdTable
adCmdTableDirect
adCmdStoredProc
adCmdUnknown
adCmdFile
adAsyncExecute
等這些參數(shù)都可以通過屬性先賦給Recordset對象,再簡單的調(diào)用open打開Filter為Recordset
中的數(shù)據(jù)指定篩選條件。R|W可以設置的值有:條件字符串由一個或多個用
AND或OR操作符連接的子句組成的字符串。需要時字段名加[],<、>、<=、>=、<>、=或LIKE(*%)書簽數(shù)組—指向Recordset
對象中記錄的唯一書簽值數(shù)組。如下某個值:AdFilterNone
刪除當前篩選條件并恢復查看的所有記錄。AdFilterPendingRecords
允許只查看已更改且尚未發(fā)送到服務器的記錄。只能應用于批更新模式。AdFilterAffectedRecords允許只查看上一次
Delete、Resync、UpdateBatch或CancelBatch
調(diào)用所影響的記錄。AdFilterFetchedRecords允許查看當前緩沖區(qū)中的記錄,即上一次從數(shù)據(jù)庫中檢索記錄的調(diào)用結果。AdFilterConflictingRecords允許查看在上一次批更新中失敗的記錄。分頁顯示屬性PageSize
Recordset中一頁所包含的記錄數(shù),R|W,默認值為10。使用PageSize
屬性可確定組成邏輯數(shù)據(jù)頁的記錄數(shù)。建立頁的大小允許使用AbsolutePage
屬性移動到特定頁的第一個記錄。PageCount返回Recordset
對象包含的數(shù)據(jù)頁數(shù)。使用PageCount屬性可確定Recordset
對象中數(shù)據(jù)的頁數(shù)。-1表示Recordset
對象不支持該屬性。AbsolutePageR|W設置或返回當前記錄所在的頁。取值為1到PageCount;或者返回如下常量:AdPosUnknownRecordset
為空,當前位置未知,或者提供者不支持AbsolutePage屬性。AdPosBOF
當前記錄指針位于BOF(即BOF屬性為True)。AdPosEOF
當前記錄指針位于EOF(即EOF屬性為True)。分頁顯示例假定檢索結果有108條記錄
rs.PageSize=10
pcs=rs.PageCount
'則pcs=ceiling(108/10)=ceiling(10.8)=11
顯示request("page")頁,
ip=cint(request("page")ifip<1thenip=1ifip>pcsthenip=pcs
rs.absolutePage=ip分頁顯示例-續(xù)
pc=0'頁內(nèi)計數(shù)
dowhilenotrs.eofan
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年03月廣西海洋科學院北部灣生態(tài)災害與環(huán)境安全創(chuàng)新團隊科技人員3人筆試歷年參考題庫考點剖析附解題思路及答案詳解
- 2025-2030智慧園行業(yè)競爭格局分析及投資前景與戰(zhàn)略規(guī)劃研究報告
- 2025-2030無糖餅干行業(yè)市場深度分析及競爭格局與投資價值研究報告
- 2025-2030旋轉(zhuǎn)開關行業(yè)市場現(xiàn)狀供需分析及重點企業(yè)投資評估規(guī)劃分析研究報告
- 2025-2030文體裝備行業(yè)全景深度監(jiān)測及投資機遇風險分析研究報告
- 2025-2030折疊膜盒行業(yè)市場現(xiàn)狀供需分析及重點企業(yè)投資評估規(guī)劃分析研究報告
- 2025-2030投影設備行業(yè)市場發(fā)展分析與發(fā)展前景及投資戰(zhàn)略研究報告
- 2025-2030手機位置服務產(chǎn)業(yè)市場深度分析及前景趨勢與投資研究報告
- 2025-2030微生物肥料市場發(fā)展現(xiàn)狀分析及行業(yè)投資戰(zhàn)略研究報告
- 寶寶早期語言學習試題及答案
- 2025年食安食品考試題及答案
- 新式茶飲創(chuàng)業(yè)趨勢
- 中國大唐集團有限公司陸上風電工程標桿造價指標(2023年)
- 2025年江蘇經(jīng)貿(mào)職業(yè)技術學院單招職業(yè)技能考試題庫帶答案
- 醫(yī)院保安服務方案投標文件(技術方案)
- 2025-2030年中國鑄造生鐵市場發(fā)展現(xiàn)狀及前景趨勢分析報告
- 輸液連接裝置安全管理專家共識2023
- 課件-2025年春季學期 形勢與政策 第一講-加快建設社會主義文化強國9
- 拆除臨時用電施工方案
- 小學數(shù)學教學中小組合作學習課件
- 病歷的書寫基本規(guī)范培訓講座課件
評論
0/150
提交評論