国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

asp(vbs)Rs.Open和Conn.Execute的詳解和區別及&H0001的說(shuō)

發(fā)布時(shí)間:2021-08-17 12:10 來(lái)源: 閱讀:0 作者: 欄目: ASP 歡迎投稿:712375056

1. Rs.Open SQL,Conn,A,B,C
2. Conn.Execute(SQL,RowsAffected,C)

一、Conn.Execute(SQL,RowsAffected,C)

參數含義:

SQL的值可以是SQL語(yǔ)句、表名、存儲過(guò)程名,也可以是數據提供者所能接受的任意字符串。為了提高性能,最好為C參數指定合適的值
可選參數RowsAffected
1、一個(gè)Insert、Update或Delete查詢(xún)執行以后,RowsAffected返回所影響的數目,這些查詢(xún)會(huì )返回一個(gè)關(guān)閉的Recordset對象。
2、一個(gè)SELECT查詢(xún)將返回RowsAffected值為-1并且返回帶有一行或多行內容的打開(kāi)的Recordset。

<%
Set Conn=OpenDatabase'(OpenDatabase函數詳見(jiàn):ASP中與ACCESS和MSSQL數據庫建立連接方法)
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í),著(zhù)實(shí)迷惑了一陣?,F在網(wǎng)站關(guān)于這個(gè)的資料滿(mǎn)天飛了。在此提一下,下面參數說(shuō)明中有具體說(shuō)明。

A參數:游標類(lèi)型

Const adOpenForwardOnly=0 只讀,缺省。在記錄集內的記錄間游標只允許往前移動(dòng)。不支持分頁(yè)、Recordset、BookMark
Const adOpenKeyset=1 只讀,鍵集游標,當前數據記錄可自由移動(dòng),其他用戶(hù)對記錄說(shuō)做的修改將反映到記錄集中,但其他用戶(hù)增加或刪除記錄不會(huì )反映到記錄集中。支持分頁(yè)、Recordset、BookMark
Const adOpenDynamic=2 可讀寫(xiě),當前數據記錄可自由移動(dòng),動(dòng)態(tài)游標功能最強,但耗資源也最多。用戶(hù)對記錄說(shuō)做的修改,增加或刪除記錄都將反映到記錄集中。支持全功能瀏覽(ACCESS不支持)。
Const adOpenStatic=3 靜態(tài)游標,只是數據的一個(gè)快照,用戶(hù)對記錄說(shuō)做的修改,增加或刪除記錄都不會(huì )反映到記錄集中。支持向前或向后移動(dòng)

B參數:鎖定類(lèi)型

Const adLockReadOnly=1 缺省值,記錄集是只讀的,不能修改記錄
Const adLockPessimistic=2 '悲觀(guān)鎖定,當編輯時(shí)立即鎖定記錄,以確保成功地編輯記錄。最安全的方式
Const dLockOptimistic=3 '樂(lè )觀(guān)鎖定,直到用Update方法提交更新記錄時(shí)才鎖定記錄,而在此前的其他操作仍可對當前記錄進(jìn)行更改、插入和刪除等
Const dLockBatchOptimistic=4 '批量樂(lè )觀(guān)鎖定,允許修改多個(gè)記錄,只有調用UpdateBatch方法后才鎖定記錄。
當不需要改動(dòng)任何記錄時(shí),應該使用只讀的記錄集,這樣提供者不用做任何檢測。對于一般的使用,樂(lè )觀(guān)的鎖定可能是最好的選擇,因為記錄只被鎖定一小段時(shí)間,數據在這段時(shí)間被更新。這減少了資源的使用。

C參數:(指定SQL語(yǔ)句類(lèi)型)

Const ADCmdUnknown=&H0008 '未知,需要系統來(lái)判斷,速度慢,為缺省值
Const ADCmdText=&H0001 '將執行一段sql
Const ADCmdTable=&H0002 '將操作一個(gè)表
Const ADCmdStoredProc=&H0004 '將操作存儲過(guò)程名稱(chēng)
Const ADCmdFile= &H0100 '對象類(lèi)型相應的文件名稱(chēng)
Const ADCmdTableDirect=&H0200 '是能直接從表中獲取行內容的表名稱(chēng)

三、Rs.Open和Conn.Execute的區別

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則應該使用Conn.Execute(sql)也可以不要括號Conn.Execute sql
如果sql是select語(yǔ)句則應該使用Set Rs=Conn.Execute(sql)括號一定要,不能省略
這是因為vb的特性,帶返回值的調用必須加括號,不帶返回值的調用可以不要括號。

1、Conn.Execute

sql="select * from admin where username='xiaozhu'"
Set Rs=Conn.Execute(sql)
'執行完以后自動(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
'可以自己設定一些參數,即鎖定和游標的移動(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為正常的記錄數
2.
Rs.Open是打開(kāi)數據庫 Conn.Execute 是執行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)
參數含義:
SQL的值可以是SQL語(yǔ)句、表名、存儲過(guò)程名,也可以是數據提供者所能接受的任意字符串。為了提高性能,最好為C參數指定合適的值。
可選參數RowsAffected將返回INSERT、UPDATE或DELETE查詢(xún)執行以后所影響的數目。這些查詢(xún)會(huì )返回一個(gè)關(guān)閉的Recordset對象。
一個(gè)SELECT查詢(xún)將返回RowsAffected值為-1并且返回帶有一行或多行內容的打開(kāi)的Recordset。
4.
Conn.Execute sql適合于不需返回recordset對象時(shí)使用,比如下面的代碼:
sql="delete from news where id="&cstr(id)
Conn.Execute sql
如果需要返回recordset對象,則使用如下代碼:
sql="select from news where id="&cstr(id)
Set Rs=Conn.Execute(sql)
如果去掉execute(sql)這兒的括號(即為set rs = Conn.Execute sql),就會(huì )提示“語(yǔ)句未結束”這樣的錯誤提示,我翻看了一下語(yǔ)法格式,發(fā)現有二種格式,詳解如下:

格式一:Connection對象名.Execute(SQL指令)
格式二:Connection對象名.Execute(數據表名)
Conn.Execute(sql)(0)為數據集的第一個(gè)字段的值
Conn.Execute(sql) 返回記錄集。
Conn.Execute sql 不返回記錄集。一般用于插入、更新,刪除等不帶返回值的操作

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

精品免费AV一区二区三区| 无码AV免费精品一区二区三区| 久久综合精品国产一区二区三区无码| 日韩AV无码一区二区三区不卡毛片| 粉嫩XB粉嫩XB粉嫩XB| 99热精国产这里只有精品|