色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:173日期:2022-06-04 17:21:39

rs.open sql,conn:如果sql是delete,update,insert則會返回一個關(guān)閉的記錄集,在使用過程中不要來個rs.close在文件最后再寫rs.close
中間可以來多個記錄集rs1.open sql1,conn,最后一塊關(guān)閉記錄集:rs.close rs1.close
conn.execute(sql) 如果sql是delete,update,insert則會返回一個關(guān)閉的記錄集,在使用過程中不要來個rs.close在文件最后再寫rs.close
中間可以來多個記錄集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)括號一定要,不能省略:這是因為vbscript的特性,帶返回值
的調(diào)用必須加括號,不帶返回值的調(diào)用可以不要括號。

注意:不管是rs.open sql,conn還是conn.execute(sql) [這里的SQL是delete,update,insert]執(zhí)行以后都會返回一個關(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í)行完以后自動關(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)的移動方式
最后要關(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)返回一個關(guān)閉了的記錄集
set rs=conn.execute(select)返回一個沒有關(guān)閉的記錄集

3.

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

4.

conn.execute sql適合于不需返回recordset對象時使用,比如下面的代碼:

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),就會提示“語句未結(jié)束”這樣的錯誤提示,我翻看了一下語法格式,發(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)時默認(rèn)的是哪一個?  

最佳答案

RS.OPEN SQL,CONN,A,B

A: ADOPENFORWARDONLY(=0) 只讀,且當(dāng)前數(shù)據(jù)記錄只能向下移動
ADOPENKEYSET(=1) 可讀寫,當(dāng)前數(shù)據(jù)記錄可自由移動
ADOPENDYNAMIC(=2) 可讀寫,當(dāng)前數(shù)據(jù)記錄可自由移動,可看到新增記錄
ADOPENSTATIC(=3) 只讀,當(dāng)前數(shù)據(jù)記錄可自由移動

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

到此這篇關(guān)于ASP中RecordSet Open和Connection.Execute一些區(qū)別與細(xì)節(jié)分享的文章就介紹到這了,更多相關(guān)RecordSet Open和Connection.Execute內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: ASP
相關(guān)文章:
主站蜘蛛池模板: 成a人片亚洲日本久久 | 在线观看国产精品日本不卡网 | 久久香蕉国产线看观看亚洲片 | 国产精品偷伦费观看 | 18岁禁黄色| 神马午夜视频 | 521a久久九九久久精品 | 欧美成人全部费免网站 | 天天插夜夜爽 | 99久久精品费精品国产一区二区 | 加勒比日本道 | 亚洲国产精品久久久天堂 | 国产精品视频免费播放 | 综合爱爱网 | 97国产精品欧美一区二区三区 | 亚洲综合成人网在线观看 | 亚洲综合成人网在线观看 | 亚洲二区在线 | 高跟丝袜美女一级毛片 | 韩国v欧美v亚洲v日本v | 在线一区播放 | 亚洲成人777| 国产香蕉在线视频一级毛片 | 精品久久久久久久久久久 | 欧美一级片在线 | 韩国精品欧美一区二区三区 | 国产三级高清 | 国产高清一区 | 国产久草视频在线 | 亚洲欧美日韩高清 | 亚洲日产2021三区 | 国产91成人 | 美女动作一级毛片 | 一级做a爰片久久毛片唾 | 免费嗨片 | 亚洲精品久久久久久久无 | 免费一级a毛片在线播 | 精品国产_亚洲人成在线高清 | 亚洲国产高清人在线 | 2021国产精品系列一区二区 | 美女张开腿双腿让男人桶 |