激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

香港云服务器
服務(wù)器之家 - 編程語(yǔ)言 - ASP教程 - ASP 游標(biāo)參數(shù)詳解(ASP記錄集)

ASP 游標(biāo)參數(shù)詳解(ASP記錄集)

2019-09-18 10:37asp開(kāi)發(fā)網(wǎng) ASP教程

經(jīng)常使用游標(biāo),但一些具體的說(shuō)明不是很清楚,書(shū)上的東西太乏味

rs.open sql,conn,A,B 
A: 
ADOPenforwardonly (=0) 
只讀,且當(dāng)前數(shù)據(jù)記錄只能向下移動(dòng)。 
ADOPenkeyset (=1) 
只讀,當(dāng)前數(shù)據(jù)記錄可自由移動(dòng)。 
ADOpendynamic (=2) 
可讀寫(xiě),當(dāng)前數(shù)據(jù)記錄可自由移動(dòng)。 
ADOpenstatic (=3) 
可讀寫(xiě),當(dāng)前數(shù)據(jù)記錄可自由移動(dòng),可看到新增記錄。 
B: 
ADLockreadonly (=1) 
缺省鎖定類型,記錄集是只讀的,不能修改記錄。 
ADLockpessimistic (=2) 
悲觀鎖定,當(dāng)修改記錄時(shí),數(shù)據(jù)提供者將嘗試鎖定記錄以確保成功地編輯記錄,只要編輯一開(kāi) 始,則立即鎖住記錄。 
ADLockoptimitic (=3) 
樂(lè)觀鎖定,直到用Update方法提交更新的記錄時(shí)才鎖定記錄。 
ADLockbatchoptimistic (=4) 
批量樂(lè)觀鎖定,允許修改多個(gè)記錄,只有調(diào)用UPDATE BATCH方法時(shí)才鎖定記錄。 
 當(dāng)不需要改動(dòng)任何記錄時(shí),應(yīng)該使用只讀的記錄集,這樣提供者不用做任何檢測(cè)。對(duì)于一般的使用,樂(lè)觀的鎖定可能是最好的選擇,因?yàn)橛涗浿槐绘i定一小段時(shí)間,數(shù)據(jù)在這段時(shí)間被更新。這就減少了資源的利用。 

可使用 Recordset 對(duì)象操作來(lái)自提供者的數(shù)據(jù)。使用 ADO 時(shí),通過(guò) Recordset 對(duì)象可對(duì)幾乎所有數(shù)據(jù)進(jìn)行操作。所有 Recordset 對(duì)象均使用記錄(行)和字段(列)進(jìn)行構(gòu)造。由于提供者所支持的功能不同,某些 Recordset 方法或?qū)傩杂锌赡軣o(wú)效。 
在 ADO 中定義了四種不同的游標(biāo)類型: 
動(dòng)態(tài)游標(biāo) ? 用于查看其他用戶所作的添加、更改和刪除,并用于不依賴書(shū)簽的 Recordset 中各種類型的移動(dòng)。如果提供者支持,可使用書(shū)簽。 
鍵集游標(biāo) ? 其行為類似動(dòng)態(tài)游標(biāo),不同的只是禁止查看其他用戶添加的記錄,并禁止訪問(wèn)其他用戶刪除的記錄,其他用戶所作的數(shù)據(jù)更改將依然可見(jiàn)。它始終支持書(shū)簽,因此允許 Recordset 中各種類型的移動(dòng)。 
靜態(tài)游標(biāo) ? 提供記錄集合的靜態(tài)副本以查找數(shù)據(jù)或生成報(bào)告。它始終支持書(shū)簽,因此允許 Recordset 中各種類型的移動(dòng)。其他用戶所作的添加、更改或刪除將不可見(jiàn)。這是打開(kāi)客戶端 (ADOR) Recordset 對(duì)象時(shí)唯一允許使用的游標(biāo)類型。 
僅向前游標(biāo) ? 除僅允許在記錄中向前滾動(dòng)之外,其行為類似靜態(tài)游標(biāo)。這樣,當(dāng)需要在 Recordset 中單程移動(dòng)時(shí)就可提高性能。 
在打開(kāi) Recordset 之前設(shè)置 CursorType 屬性來(lái)選擇游標(biāo)類型,或使用 Open 方法傳遞 CursorType 參數(shù)。部分提供者不支持所有游標(biāo)類型。請(qǐng)檢查提供者的文檔。如果沒(méi)有指定游標(biāo)類型,ADO 將默認(rèn)打開(kāi)僅向前游標(biāo)。 
如果 CursorLocation 屬性被設(shè)置為 adUseClient 后打開(kāi) Recordset,則在返回的 Recordset 對(duì)象中,F(xiàn)ield 對(duì)象的 UnderlyingValue 屬性不可用。對(duì)部分提供者(例如 Microsoft ODBC Provider for OLE DB 連同 Microsoft SQL Server),可以通過(guò)使用 Open 方法傳遞連接字符串,根據(jù)以前定義的 Connection 對(duì)象獨(dú)立地創(chuàng)建 Recordset 對(duì)象。ADO 仍然創(chuàng)建 Connection 對(duì)象,但它不將該對(duì)象賦給對(duì)象變量。不過(guò),如果正在相同的連接上打開(kāi)多個(gè) Recordset 對(duì)象,就應(yīng)該顯式創(chuàng)建和打開(kāi) Connection 對(duì)象,由此將 Connection 對(duì)象賦給對(duì)象變量。如果在打開(kāi) Recordset 對(duì)象時(shí)沒(méi)有使用該對(duì)象變量,即使在傳遞相同連接字符串的情況下,ADO 也將為每個(gè)新的 Recordset 創(chuàng)建新的 Connection 對(duì)象。 
可以創(chuàng)建所需數(shù)量的 Recordset 對(duì)象。 
打開(kāi) Recordset 時(shí),當(dāng)前記錄位于第一個(gè)記錄(如果有),并且 BOF 和 EOF 屬性被設(shè)置為 False。如果沒(méi)有記錄,BOF 和 EOF 屬性設(shè)置是 True。 
假設(shè)提供者支持相關(guān)的功能,可以使用 MoveFirst、MoveLast、MoveNext 和 MovePrevious 方法以及 Move 方法,和 AbsolutePosition、AbsolutePage 和 Filter 屬性來(lái)重新確定當(dāng)前記錄的位置。僅向前 Recordset 對(duì)象只支持 MoveNext 方法。當(dāng)使用 Move 方法訪問(wèn)每個(gè)記錄(或枚舉 Recordset)時(shí),可使用 BOF 和 EOF 屬性查看是否移動(dòng)已經(jīng)超過(guò)了 Recordset 的開(kāi)始或結(jié)尾。 
Recordset 對(duì)象可支持兩類更新:立即更新和批更新。使用立即更新,一旦調(diào)用 Update 方法,對(duì)數(shù)據(jù)的所有更改將被立即寫(xiě)入基本數(shù)據(jù)源。也可以使用 AddNew 和 Update 方法將值的數(shù)組作為參數(shù)傳遞,同時(shí)更新記錄的若干字段。 
如果提供者支持批更新,可以使提供者將多個(gè)記錄的更改存入緩存,然后使用 UpdateBatch 方法在單個(gè)調(diào)用中將它們傳送給數(shù)據(jù)庫(kù)。這種情況應(yīng)用于使用 AddNew、Update 和 Delete 方法所做的更改。調(diào)用 UpdateBatch 方法后,可以使用 Status 屬性檢查任何數(shù)據(jù)沖突并加以解決。 
注意 要執(zhí)行不使用 Command 對(duì)象的查詢,應(yīng)將查詢字符串傳遞給 Recordset 對(duì)象的 Open 方法。但是,在想要保持命令文本并重復(fù)執(zhí)行或使用查詢參數(shù)時(shí),仍然需要 Command 對(duì)象。 
AddNew 創(chuàng)建可更新的 Recordset 對(duì)象的新記錄。 
Append 將對(duì)象追加到集合中。如果集合是 Fields,可以先創(chuàng)建新的 Field 對(duì)象然后再將其追加到集合中。 
AppendChunk 將數(shù)據(jù)追加到大型文本、二進(jìn)制數(shù)據(jù) Field 或 Parameter 對(duì)象。 
BeginTrans、CommitTrans 和 RollbackTrans 按如下方式管理 Connection 對(duì)象中的事務(wù)進(jìn)程: 
BeginTrans ? 開(kāi)始新事務(wù)。 
CommitTrans ? 保存任何更改并結(jié)束當(dāng)前事務(wù)。它也可能啟動(dòng)新事務(wù)。 
RollbackTrans ? 取消當(dāng)前事務(wù)中所作的任何更改并結(jié)束事務(wù)。它也可能啟動(dòng)新事務(wù)。 
Cancel 取消執(zhí)行掛起的、異步 Execute 或 Open 方法調(diào)用。 
Cancel (RDS) 取消當(dāng)前運(yùn)行的異步執(zhí)行或獲取。 
CancelBatch 取消掛起的批更新。 
CancelUpdate 取消在調(diào)用 Update 方法前對(duì)當(dāng)前記錄或新記錄所作的任何更改。 
CancelUpdate (RDS) 放棄與指定 Recordset 對(duì)象關(guān)聯(lián)的所有掛起更改,從而恢復(fù)上一次調(diào)用 Refresh 方法之后的值。 
Clear 刪除集合中的所有對(duì)象。 
Clone 創(chuàng)建與現(xiàn)有 Recordset 對(duì)象相同的復(fù)制 Recordset 對(duì)象。可選擇指定該副本為只讀。 
Close 關(guān)閉打開(kāi)的對(duì)象及任何相關(guān)對(duì)象。 
CompareBookmarks 比較兩個(gè)書(shū)簽并返回它們相差值的說(shuō)明。 
ConvertToString 將 Recordset 轉(zhuǎn)換為代表記錄集數(shù)據(jù)的 MIME 字符串。 
CreateObject (RDS) 創(chuàng)建目標(biāo)業(yè)務(wù)對(duì)象的代理并返回指向它的指針。 
CreateParameter 使用指定屬性創(chuàng)建新的 Parameter 對(duì)象。 
CreateRecordset (RDS) 創(chuàng)建未連接的空 Recordset。 
Delete (ADO Parameters Collection) 從 Parameters 集合中刪除對(duì)象。 
Delete (ADO Fields Collection) 從 Fields 集合刪除對(duì)象。 
Delete (ADO Recordset) 刪除當(dāng)前記錄或記錄組。 
Execute (ADO Command) 執(zhí)行在 CommandText 屬性中指定的查詢、SQL 語(yǔ)句或存儲(chǔ)過(guò)程。 
Execute (ADO Connection) 執(zhí)行指定的查詢、SQL 語(yǔ)句、存儲(chǔ)過(guò)程或特定提供者的文本等內(nèi)容。 
Find 搜索 Recordset 中滿足指定標(biāo)準(zhǔn)的記錄。 
GetChunk 返回大型文本或二進(jìn)制數(shù)據(jù) Field 對(duì)象的全部或部分內(nèi)容。 
GetRows 將 Recordset 對(duì)象的多個(gè)記錄恢復(fù)到數(shù)組中。 
GetString 將 Recordset 按字符串返回。 
Item 根據(jù)名稱或序號(hào)返回集合的特定成員。 
Move 移動(dòng) Recordset 對(duì)象中當(dāng)前記錄的位置。 
MoveFirst、MoveLast、MoveNext 和 MovePrevious 移動(dòng)到指定 Recordset 對(duì)象中的第一個(gè)、最后一個(gè)、下一個(gè)或前一個(gè)記錄并使該記錄成為當(dāng)前記錄。 
MoveFirst、MoveLast、MoveNext、MovePrevious (RDS) 移動(dòng)到顯示的 Recordset 中的第一個(gè)、最后一個(gè)、下一個(gè)或前一個(gè)記錄。 
NextRecordset 清除當(dāng)前 Recordset 對(duì)象并通過(guò)提前命令序列返回下一個(gè)記錄集。 
Open (ADO Connection) 打開(kāi)到數(shù)據(jù)源的連接。 
Open (ADO Recordset) 打開(kāi)游標(biāo)。 
OpenSchema 從提供者獲取數(shù)據(jù)庫(kù)模式信息。 
Query (RDS) 使用有效的 SQL 查詢字符串返回 Recordset。 
Refresh 更新集合中的對(duì)象以便反映來(lái)自提供者的可用對(duì)象以及特定于提供者的對(duì)象。 
Refresh (RDS) 對(duì)在 Connect 屬性中指定的 ODBC 數(shù)據(jù)源進(jìn)行再查詢并更新查詢結(jié)果。 
Requery 通過(guò)重新執(zhí)行對(duì)象所基于的查詢,更新 Recordset 對(duì)象中的數(shù)據(jù)。 
Reset (RDS) 根據(jù)指定的排序和篩選屬性對(duì)客戶端 Recordset 執(zhí)行排序或篩選操作。 
Resync 從基本數(shù)據(jù)庫(kù)刷新當(dāng)前 Recordset 對(duì)象中的數(shù)據(jù)。 
Save (ADO Recordset) 將 Recordset 保存(持久)在文件中。 
Seek 搜索 Recordset 的索引以便快速定位與指定值相匹配的行,并將當(dāng)前行的位置更改為該行。 
SubmitChanges (RDS) 將本地緩存的可更新 Recordset 的掛起更改提交到在 Connect 屬性中指定的 ODBC 數(shù)據(jù)源中。 
Supports 確定指定的 Recordset 對(duì)象是否支持特定類型的功能。 
Update 保存對(duì) Recordset 對(duì)象的當(dāng)前記錄所做的所有更改。 
UpdateBatch 將所有掛起的批更新寫(xiě)入磁盤(pán)。

給你個(gè)比較有代表性的程序吧,估計(jì)能有所幫助 

<%@ LANGUAGE = VBScript%> 
<% 
'------------------------------------------ 
'昨天晚上編的簡(jiǎn)單數(shù)據(jù)庫(kù)(ACECESS,有id、password、 
'register3個(gè)字段)操作,僅支持單表單條件操作, 
'不過(guò)好像沒(méi)什么用:) 
'col:待查詢字段名(必添) 
'colvalue:待更新、添加字段的值(沒(méi)有用""代替) 
'table:表名(必添) 
'keyid:查詢條件的字段名(沒(méi)有用""代替,可選) 
'keyvalue:查詢條件字段的值(沒(méi)有用""代替,可選) 
'col和colvalue必須成對(duì)出現(xiàn) 
'keyid和keyvalue必須同時(shí)出現(xiàn) 
'------------------------------------------ 
%> 
<% 
Function DB_execute(col,colvalue,table,keyid,keyvalue,bz) 
Dim ConnStr,conn,rs,sql 
ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("data/game.mdb") 
Set conn = Server.CreateObject("ADODB.Connection") 
conn.open ConnStr 
set rs=server.createobject("adodb.recordset") 
for i=0 to UBound(col) step 1 
if UBound(col)<>i then 
sql=sql&col(i)&", " 
else 
sql=sql&col(i)&" " 
end if 
next 
if keyid <> "" then 
sql="select "&sql&"from "&table&" where "&keyid&"='"&keyvalue&"'" 
else 
sql="select "&sql&"from "&table 
end if 
select case bz 
case "o" 
rs.open sql,conn,1,1 
dim rsnum 
rsnum=rs.RecordCount 
if rsnum > 0 then 
dim rsArray() 
redim rsArray(rsnum,UBound(col)) 
for i=0 to UBound(col) step 1 
rsArray(0,i)=col(i) 
next 
for i=1 to rsnum step 1 
for j=0 to UBound(col) step 1 
rsArray(i,j)=rs(col(j)) 
next 
next 
DB_execute=rsArray 
else 
DB_execute="沒(méi)有查到任何數(shù)據(jù)" 
end if 
rs.close 
set rs=nothing 
case "u" 
rs.open sql,conn,3,3 
if rs.RecordCount > 0 then 
for i=0 to UBound(col) step 1 
rs(col(i))=colvalue(i) 
next 
rs.update 
else 
DB_execute="沒(méi)有查到這條數(shù)據(jù)" 
end if 
rs.close 
set rs=nothing 
case "i" 
rs.open sql,conn,3,3 
rs.addnew 
for i=0 to UBound(col) step 1 
rs(col(i))=colvalue(i) 
next 
rs.update 
DB_execute="添加數(shù)據(jù)成功" 
rs.close 
set rs=nothing 
case "d" 
sql="delete from "&table&" where "&keyid&"='"&keyvalue&"'" 
conn.Execute sql 
DB_execute="刪除數(shù)據(jù)成功" 
end select 
conn.close 
set conn=nothing 
end Function 
%> 
<% 
'返回記錄集 
'temp=DB_execute(Array("id","password","register"),"","users","","","o") 
'response.write temp(1,2) 

'添加一條記錄 
'temp=DB_execute(Array("id","password","register"),Array("test","test","0"),"users","","","i") 
'response.write temp 

'更新一條記錄 
'temp=DB_execute(Array("id","password","register"),Array("new","new","1"),"users","id","test","u") 
'response.write temp 

'刪除一條記錄 
'temp=DB_execute(Array("id","password","register"),"","users","id","new1","d") 
'response.write temp 
%>

延伸 · 閱讀

精彩推薦
234
主站蜘蛛池模板: 国产亚洲精品成人a | 久草在线手机视频 | 自拍偷拍亚洲图片 | 亚洲欧美成aⅴ人在线观看 免费看欧美黑人毛片 | 免费的性爱视频 | 国产a一级片 | 欧美视频在线一区二区三区 | 一区二区三高清 | 国产精品久久久久久久av三级 | 亚洲一二区精品 | 国产高潮好爽受不了了夜色 | 粉嫩一区 | 日韩高清影视 | 日本成人一区二区三区 | 国产精品视频一区二区三区综合 | 黄wwww| 啊~用cao嗯力cao烂我视频 | 在线播放黄色网址 | 成年人观看免费视频 | 娇妻被各种姿势c到高潮小说 | 国产精品视频不卡 | 国产精品亚洲综合一区二区三区 | 日韩在线观看视频一区二区三区 | 久久久国产电影 | 九九热视频免费 | 国产精品一区二区日韩 | 激情宗合网 | 日韩激情在线视频 | 国产亚洲综合精品 | 三级国产三级在线 | asiass极品裸体女pics | 免费a级毛片永久免费 | 露脸各种姿势啪啪的清纯美女 | 久久千人斩 | 久久sp| 在线亚洲欧美日韩 | 成人毛片视频在线观看 | 91重口视频 | 国产精品久久久久久久久久久天堂 | 性明星video另类hd | 日韩色视频在线观看 |