asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說(shuō)明
1. Rs.Open SQL,Conn,A,B,C
2. Conn.Execute(SQL,RowsAffected,C)
一、Conn.Execute(SQL,RowsAffected,C)
參數(shù)含義:
SQL的值可以是SQL語(yǔ)句、表名、存儲(chǔ)過(guò)程名,也可以是數(shù)據(jù)提供者所能接受的任意字符串。為了提高性能,最好為C參數(shù)指定合適的值
可選參數(shù)RowsAffected
1、一個(gè)Insert、Update或Delete查詢(xún)執(zhí)行以后,RowsAffected返回所影響的數(shù)目,這些查詢(xún)會(huì)返回一個(gè)關(guān)閉的Recordset對(duì)象。
2、一個(gè)SELECT查詢(xún)將返回RowsAffected值為-1并且返回帶有一行或多行內(nèi)容的打開(kāi)的Recordset。
<% Set Conn=OpenDatabase'(OpenDatabase函數(shù)詳見(jiàn):ASP中與ACCESS和MSSQL數(shù)據(jù)庫(kù)建立連接方法) Conn.Execute "update Table1 set Col1='123'",RowsAffected,&H0001 Response.Write RowsAffected&" 行受到影響" Conn.close Set Conn=Nothing %>
二、Rs.Open SQL,Conn,A,B,C
Set Rs=Server.CreateObject ("adodb.RecordSet") sql="xxxx" Rs.Open Sql,Conn,1,1,&H0001 irs=rs.getrows(10)
&H0001
是什么意思?以前第一次見(jiàn)到這個(gè)時(shí),著實(shí)迷惑了一陣。現(xiàn)在網(wǎng)站關(guān)于這個(gè)的資料滿(mǎn)天飛了。在此提一下,下面參數(shù)說(shuō)明中有具體說(shuō)明。
A參數(shù):游標(biāo)類(lèi)型
Const adOpenForwardOnly=0 只讀,缺省。在記錄集內(nèi)的記錄間游標(biāo)只允許往前移動(dòng)。不支持分頁(yè)、Recordset、BookMark
Const adOpenKeyset=1 只讀,鍵集游標(biāo),當(dāng)前數(shù)據(jù)記錄可自由移動(dòng),其他用戶(hù)對(duì)記錄說(shuō)做的修改將反映到記錄集中,但其他用戶(hù)增加或刪除記錄不會(huì)反映到記錄集中。支持分頁(yè)、Recordset、BookMark
Const adOpenDynamic=2 可讀寫(xiě),當(dāng)前數(shù)據(jù)記錄可自由移動(dòng),動(dòng)態(tài)游標(biāo)功能最強(qiáng),但耗資源也最多。用戶(hù)對(duì)記錄說(shuō)做的修改,增加或刪除記錄都將反映到記錄集中。支持全功能瀏覽(ACCESS不支持)。
Const adOpenStatic=3 靜態(tài)游標(biāo),只是數(shù)據(jù)的一個(gè)快照,用戶(hù)對(duì)記錄說(shuō)做的修改,增加或刪除記錄都不會(huì)反映到記錄集中。支持向前或向后移動(dòng)
B參數(shù):鎖定類(lèi)型
Const adLockReadOnly=1 缺省值,記錄集是只讀的,不能修改記錄
Const adLockPessimistic=2 '悲觀鎖定,當(dāng)編輯時(shí)立即鎖定記錄,以確保成功地編輯記錄。最安全的方式
Const dLockOptimistic=3 '樂(lè)觀鎖定,直到用Update方法提交更新記錄時(shí)才鎖定記錄,而在此前的其他操作仍可對(duì)當(dāng)前記錄進(jìn)行更改、插入和刪除等
Const dLockBatchOptimistic=4 '批量樂(lè)觀鎖定,允許修改多個(gè)記錄,只有調(diào)用UpdateBatch方法后才鎖定記錄。
當(dāng)不需要改動(dòng)任何記錄時(shí),應(yīng)該使用只讀的記錄集,這樣提供者不用做任何檢測(cè)。對(duì)于一般的使用,樂(lè)觀的鎖定可能是最好的選擇,因?yàn)橛涗浿槐绘i定一小段時(shí)間,數(shù)據(jù)在這段時(shí)間被更新。這減少了資源的使用。
C參數(shù):(指定SQL語(yǔ)句類(lèi)型)
Const ADCmdUnknown=&H0008 '未知,需要系統(tǒng)來(lái)判斷,速度慢,為缺省值
Const ADCmdText=&H0001 '將執(zhí)行一段sql
Const ADCmdTable=&H0002 '將操作一個(gè)表
Const ADCmdStoredProc=&H0004 '將操作存儲(chǔ)過(guò)程名稱(chēng)
Const ADCmdFile= &H0100 '對(duì)象類(lèi)型相應(yīng)的文件名稱(chēng)
Const ADCmdTableDirect=&H0200 '是能直接從表中獲取行內(nèi)容的表名稱(chēng)
三、Rs.Open和Conn.Execute的區(qū)別
Rs.Open SQL,Conn
如果sql是delete,update,insert則會(huì)返回一個(gè)關(guān)閉的記錄集,在使用過(guò)程中不要來(lái)個(gè)rs.close在文件最后再寫(xiě)rs.close中間可以來(lái)多個(gè)記錄集rs1.open sql1,conn,最后一塊關(guān)閉記錄集:rs.close rs1.close
Conn.Execute(SQL)
如果sql是delete,update,insert則會(huì)返回一個(gè)關(guān)閉的記錄集,在使用過(guò)程中不要來(lái)個(gè)rs.close在文件最后再寫(xiě)rs.close中間可以來(lái)多個(gè)記錄集rs1.open sql1,conn,最后一塊關(guān)閉記錄集:rs.close rs1.close.
如果sql是update,insert,delete則應(yīng)該使用Conn.Execute(sql)也可以不要括號(hào)Conn.Execute sql
如果sql是select語(yǔ)句則應(yīng)該使用Set Rs=Conn.Execute(sql)括號(hào)一定要,不能省略
這是因?yàn)関b的特性,帶返回值的調(diào)用必須加括號(hào),不帶返回值的調(diào)用可以不要括號(hào)。
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語(yǔ)句") 得到的rs.recordcount=-1
Rs.Open sql,conn("sql為select語(yǔ)句") 得到的rs.recordcount為正常的記錄數(shù)
2.
Rs.Open是打開(kāi)數(shù)據(jù)庫(kù) Conn.Execute 是執(zhí)行SQL指令
Set Rs=Conn.Execute(insert,update,delete)返回一個(gè)關(guān)閉了的記錄集
Set Rs=Conn.Execute(select)返回一個(gè)沒(méi)有關(guān)閉的記錄集
3.
Conn.Execute(SQL,RowsAffected,C)
參數(shù)含義:
SQL的值可以是SQL語(yǔ)句、表名、存儲(chǔ)過(guò)程名,也可以是數(shù)據(jù)提供者所能接受的任意字符串。為了提高性能,最好為C參數(shù)指定合適的值。
可選參數(shù)RowsAffected將返回INSERT、UPDATE或DELETE查詢(xún)執(zhí)行以后所影響的數(shù)目。這些查詢(xún)會(huì)返回一個(gè)關(guān)閉的Recordset對(duì)象。
一個(gè)SELECT查詢(xún)將返回RowsAffected值為-1并且返回帶有一行或多行內(nèi)容的打開(kāi)的Recordset。
4.
Conn.Execute sql適合于不需返回recordset對(duì)象時(shí)使用,比如下面的代碼:
sql="delete from news where id="&cstr(id)
Conn.Execute sql
如果需要返回recordset對(duì)象,則使用如下代碼:
sql="select from news where id="&cstr(id)
Set Rs=Conn.Execute(sql)
如果去掉execute(sql)這兒的括號(hào)(即為set rs = Conn.Execute sql),就會(huì)提示“語(yǔ)句未結(jié)束”這樣的錯(cuò)誤提示,我翻看了一下語(yǔ)法格式,發(fā)現(xiàn)有二種格式,詳解如下:
格式一:Connection對(duì)象名.Execute(SQL指令)
格式二:Connection對(duì)象名.Execute(數(shù)據(jù)表名)
Conn.Execute(sql)(0)為數(shù)據(jù)集的第一個(gè)字段的值
Conn.Execute(sql) 返回記錄集。
Conn.Execute sql 不返回記錄集。一般用于插入、更新,刪除等不帶返回值的操作
上一篇:ASP 處理JSON數(shù)據(jù)的實(shí)現(xiàn)代碼
欄 目:ASP編程
下一篇:Asp.Net 5分鐘實(shí)現(xiàn)網(wǎng)頁(yè)實(shí)時(shí)監(jiān)控
本文標(biāo)題:asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說(shuō)明
本文地址:http://mengdiqiu.com.cn/a1/ASPbiancheng/11338.html
您可能感興趣的文章
- 01-11ASP新手必備的基礎(chǔ)知識(shí)
- 01-11ASP實(shí)現(xiàn)加法驗(yàn)證碼
- 01-11asp服務(wù)器如何搭建
- 01-11ASP腳本組件實(shí)現(xiàn)服務(wù)器重啟
- 01-11ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享
- 01-11ASP實(shí)現(xiàn)類(lèi)似hashMap功能的類(lèi)
- 01-11ASP編碼必備的8條原則
- 01-11解決ASP中http狀態(tài)跳轉(zhuǎn)返回錯(cuò)誤頁(yè)的問(wèn)題
- 01-11ASP程序中常用的腳本語(yǔ)言
- 01-11ASP中用select case代替其他語(yǔ)言中的switch case, default用case else


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-11ASP實(shí)現(xiàn)加法驗(yàn)證碼
- 01-11ASP新手必備的基礎(chǔ)知識(shí)
- 01-11ASP腳本組件實(shí)現(xiàn)服務(wù)器重啟
- 01-11asp服務(wù)器如何搭建
- 01-11ASP實(shí)現(xiàn)類(lèi)似hashMap功能的類(lèi)
- 01-11ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享
- 01-11解決ASP中http狀態(tài)跳轉(zhuǎn)返回錯(cuò)誤頁(yè)的問(wèn)
- 01-11ASP編碼必備的8條原則
- 01-11ASP中用select case代替其他語(yǔ)言中的sw
- 01-11ASP程序中常用的腳本語(yǔ)言
隨機(jī)閱讀
- 04-02jquery與jsp,用jquery
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 01-10delphi制作wav文件的方法
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 01-10C#中split用法實(shí)例總結(jié)
- 01-11Mac OSX 打開(kāi)原生自帶讀寫(xiě)NTFS功能(圖文
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改