国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

asp中的rs.open與conn.execute的區別說明

2024-05-04 11:08:23
字體:
來源:轉載
供稿:網友
不管是rs.open sql,conn還是conn.execute(sql) [這里的SQL是delete,update,insert]執行以后都會返回一個關閉的記錄集
 
 
 
rs.open sql,conn:如果sql是delete,update,insert則會返回一個關閉的記錄集,在使用過程中不要來個rs.close在文件最后再寫rs.close 
  中間可以來多個記錄集rs1.open sql1,conn,最后一塊關閉記錄集:rs.close rs1.close 
  conn.execute(sql) 如果sql是delete,update,insert則會返回一個關閉的記錄集,在使用過程中不要來個rs.close在文件最后再寫rs.close 
  中間可以來多個記錄集rs1.open sql1,conn,最后一塊關閉記錄集:rs.close rs1.close. 
  如果sql是update,insert,delete則應該使用conn.execute(sql)也可以不要括號conn.execute sql 
  如果sql是select語句則應該使用set rs=conn.execute(sql)括號一定要,不能省略:這是因為vbscript的特性,帶返回值 
  的調用必須加括號,不帶返回值的調用可以不要括號。 


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

1.conn.execute 
sql="select * from admin where username='xiaozhu'" 
set rs=conn.execute(sql) 
執行完以后自動關閉記錄集 
最后只需要關閉連接就可以了 
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 
可以自己設定一些參數,即鎖定和游標的移動方式 
最后要關閉記錄集和連接 
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為正常的記錄數 

2. 
rs.open是打開數據庫 conn.execute 是執行SQL指令 
set rs=conn.execute(insert,update,delete)返回一個關閉了的記錄集 
set rs=conn.execute(select)返回一個沒有關閉的記錄集 

3. 
CONN.EXECUTE(SQL,RowsAffected,C) 
參數含義: 
SQL的值可以是SQL語句、表名、存儲過程名,也可以是數據提供者所能接受的任意字符串。為了提高性能,最好為C參數指定合適的值 
可選參數RowsAffected將返回INSERT、UPDATE或DELETE查詢執行以后所影響的數目。這些查詢會返回一個關閉的Recordset對象。 
一個SELECT查詢將返回RowsAffected值為-1并且返回帶有一行或多行內容的打開的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),就會提示“語句未結束”這樣的錯誤提示,我翻看了一下語法格式,發現有二種格式,詳解如下: 
格式一:Connection對象名.Execute(SQL指令). 
格式二:Connection對象名.Execute(數據表名)。 

從上面的格式中看出,execute后面的sql指令是包含在括號中的,但事實上如果執行刪除或者修改等操作并不需要非得將sql指令包含在括號中也能正確執行,這是為何?而執行查詢就必須將sql指令包含在括號中,否則就會出錯,看了手頭所有的ASP教程都沒有提到這個問題,搜索了一通也沒找到答案,懇請前人給指點一下其中的原因,可不要只說語法規則就這樣的喲,我希望得到正確答案,謝謝。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彰化县| 正镶白旗| 霍林郭勒市| 拉萨市| 怀来县| 杭锦旗| 巴东县| 玛曲县| 白玉县| 五莲县| 昌吉市| 河津市| 奉化市| 三江| 安仁县| 博野县| 无锡市| 马山县| 文安县| 普兰县| 深水埗区| 陆良县| 北碚区| 上思县| 普定县| 于都县| 屏东县| 开化县| 拜城县| 响水县| 特克斯县| 宜阳县| 延安市| 穆棱市| 瓮安县| 石泉县| 仁怀市| 海伦市| 镇雄县| 新巴尔虎左旗| 九江县|