欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

asp中的rs.open與conn.execute的區(qū)別說(shuō)明

 更新時(shí)間:2011年01月06日 17:12:23   作者:  
不管是rs.open sql,conn還是conn.execute(sql) [這里的SQL是delete,update,insert]執(zhí)行以后都會(huì)返回一個(gè)關(guān)閉的記錄集
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)関bscript的特性,帶返回值
  的調(diào)用必須加括號(hào),不帶返回值的調(diào)用可以不要括號(hào)。


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

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查詢執(zhí)行以后所影響的數(shù)目。這些查詢會(huì)返回一個(gè)關(guān)閉的Recordset對(duì)象。
一個(gè)SELECT查詢將返回RowsAffected值為-1并且返回帶有一行或多行內(nèi)容的打開(kāi)的Recordset。
4.
conn.execute sql適合于不需返回recordset對(duì)象時(shí)使用,比如下面的代碼:
sql="delete from enews where id="&cstr(id)
conn.execute sql

如果需要返回recordset對(duì)象,則使用如下代碼:
sql="select from enews 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ù)表名)。

從上面的格式中看出,execute后面的sql指令是包含在括號(hào)中的,但事實(shí)上如果執(zhí)行刪除或者修改等操作并不需要非得將sql指令包含在括號(hào)中也能正確執(zhí)行,這是為何?而執(zhí)行查詢就必須將sql指令包含在括號(hào)中,否則就會(huì)出錯(cuò),看了手頭所有的ASP教程都沒(méi)有提到這個(gè)問(wèn)題,搜索了一通也沒(méi)找到答案,懇請(qǐng)前人給指點(diǎn)一下其中的原因,可不要只說(shuō)語(yǔ)法規(guī)則就這樣的喲,我希望得到正確答案,謝謝。

相關(guān)文章

最新評(píng)論