狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
版主

ASP中RecordSet Open和Connection.Execute一些區(qū)別和細(xì)節(jié)

tercel
2011年4月19日 14:14 本文熱度 2965

rs.open sql,conn:如果sql是delete,update,insert則會(huì)返回一個(gè)關(guān)閉的記錄集,在使用過程中不要來個(gè)rs.close在文件最后再寫rs.close
中間可以來多個(gè)記錄集rs1.open sql1,conn,最后一塊關(guān)閉記錄集:rs.close rs1.close
conn.execute(sql) 如果sql是delete,update,insert則會(huì)返回一個(gè)關(guān)閉的記錄集,在使用過程中不要來個(gè)rs.close在文件最后再寫rs.close
中間可以來多個(gè)記錄集rs1.open sql1,conn,最后一塊關(guān)閉記錄集:rs.close rs1.close.
如果sql是update,insert,delete則應(yīng)該使用conn.execute(sql)也可以不要括號conn.execute sql
如果sql是select語句則應(yīng)該使用set rs=conn.execute(sql)括號一定要,不能省略:這是因?yàn)関bscript的特性,帶返回值
的調(diào)用必須加括號,不帶返回值的調(diào)用可以不要括號。


注意:不管是rs.open sql,conn還是conn.execute(sql) [這里的SQL是delete,update,insert]執(zhí)行以后都會(huì)返回一個(gè)關(guān)閉的記錄集
也就是說如果sql是插入,更新,刪除語句,那么set rs=conn.execute(sql)中的RS就沒什么意義。



1.conn.execute
sql="select * from admin where username='xiaozhu'"
set rs=conn.execute(sql)
執(zhí)行完以后自動(dòng)關(guān)閉記錄集
最后只需要關(guān)閉連接就可以了
conn.close
set conn=nothing


2.rs.open
set rs=server.createobject("adodb.recordset")
sql="select * from admin where username='xiaozhu'"
rs.open sql,conn,1,1
可以自己設(shè)定一些參數(shù),即鎖定和游標(biāo)的移動(dòng)方式
最后要關(guān)閉記錄集和連接
rs.close
set rs=nothing
conn.close
set conn=nothing


3.command.execute
sql="select * from admin where username='xiaozhu'"
set rs=command.execute(sql)

*****************************************************************************
1.
set rs=conn.execute("如果是select語句") 得到的rs.recordcount=-1
rs.open sql,conn("sql為select語句") 得到的rs.recordcount為正常的記錄數(shù)

2.
rs.open是打開數(shù)據(jù)庫 conn.execute 是執(zhí)行SQL指令
set rs=conn.execute(insert,update,delete)返回一個(gè)關(guān)閉了的記錄集
set rs=conn.execute(select)返回一個(gè)沒有關(guān)閉的記錄集

3.
CONN.EXECUTE(SQL,RowsAffected,C)
參數(shù)含義:
SQL的值可以是SQL語句、表名、存儲過程名,也可以是數(shù)據(jù)提供者所能接受的任意字符串。為了提高性能,最好為C參數(shù)指定合適的值
可選參數(shù)RowsAffected將返回INSERT、UPDATE或DELETE查詢執(zhí)行以后所影響的數(shù)目。這些查詢會(huì)返回一個(gè)關(guān)閉的Recordset對象。
一個(gè)SELECT查詢將返回RowsAffected值為-1并且返回帶有一行或多行內(nèi)容的打開的Recordset。
4.

conn.execute sql適合于不需返回recordset對象時(shí)使用,比如下面的代碼:
sql="delete from enews where id="&cstr(id)
conn.execute sql

如果需要返回recordset對象,則使用如下代碼:
sql="select from enews where id="&cstr(id)
set rs = conn.execute(sql)

如果去掉execute(sql)這兒的括號(即為set rs = conn.execute sql),就會(huì)提示“語句未結(jié)束”這樣的錯(cuò)誤提示,我翻看了一下語法格式,發(fā)現(xiàn)有二種格式,詳解如下:
格式一:Connection對象名.Execute(SQL指令).
格式二:Connection對象名.Execute(數(shù)據(jù)表名)。

rs.open sql,conn 
rs.open sql,conn,1,1 
rs.open sql,conn,3,2 
rs.open sql,conn,3,3 
關(guān)于上面語句中后面的數(shù)字都代表什么意思?還有省略數(shù)字(rs.open sql,conn)時(shí)默認(rèn)的是哪一個(gè)? 
 


最佳答案 
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) 可讀寫,當(dāng)前數(shù)據(jù)記錄可自由移動(dòng),可看到新增記錄 
ADOPENSTATIC(=3) 只讀,當(dāng)前數(shù)據(jù)記錄可自由移動(dòng) 


B: ADLOCKREADONLY(=1) 缺省鎖定類型,記錄集是只讀的,不能修改記錄 
ADLOCKPESSIMISTIC(=2) 悲觀鎖定,當(dāng)修改記錄時(shí),數(shù)據(jù)提供者將嘗試鎖定記錄以確保成功地編輯記錄。只要編輯一開始,則立即鎖住記錄。 
ADLOCKOPTIMISTIC(=3) 樂觀鎖定 ,直到用Update方法提交更新記錄時(shí)才鎖定記錄。 
ADLOCKBATCHOPTIMISTIC(=4) 批量樂觀鎖定,允許修改多個(gè)記錄,只有調(diào)用UpdateBatch方法后才鎖定記錄。 
當(dāng)不需要改動(dòng)任何記錄時(shí),應(yīng)該使用只讀的記錄集,這樣提供者不用做任何檢測。對于一般的使用,樂觀的鎖定可能是最好的選擇,因?yàn)橛涗浿槐绘i定一小段時(shí)間, 數(shù)據(jù)在這段時(shí)間被更新。這減少了資源的使用。 




該文章在 2011/4/19 14:14:42 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved