[點(diǎn)晴永久免費(fèi)OA]asp中的rs.open與conn.execute的區(qū)別說明
rs.open sql,conn:
如果sql是delete,update,insert則會返回一個(gè)關(guān)閉的記錄集,在使用過程中不要來個(gè)rs.close在文件最后再寫rs.close,中間可以來多個(gè)記錄集rs1.open sql1,conn,最后一塊關(guān)閉記錄集:rs.close rs1.close。
conn.execute(sql): 如果sql是delete,update,insert則會返回一個(gè)關(guān)閉的記錄集,在使用過程中不要來個(gè)rs.close在文件最后再寫rs.close,中間可以來多個(gè)記錄集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),括號一定要,不能省略,這是因?yàn)関bscript的特性,帶返回值的調(diào)用必須加括號,不帶返回值的調(diào)用可以不要括號。 注意:不管是rs.open sql,conn還是conn.execute(sql),這里的SQL是delete,update,insert,執(zhí)行以后都會返回一個(gè)關(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)返回一個(gè)關(guān)閉了的記錄集 set rs=conn.execute(select)返回一個(gè)沒有關(guān)閉的記錄集 3. CONN.execUTE(SQL,RowsAffected,C) 參數(shù)含義: SQL的值可以是SQL語句、表名、存儲過程名,也可以是數(shù)據(jù)提供者所能接受的任意字符串。為了提高性能,最好為C參數(shù)指定合適的值 可選參數(shù)RowsAffected將返回insert、update或delete查詢執(zhí)行以后所影響的數(shù)目。這些查詢會返回一個(gè)關(guān)閉的Recordset對象。 一個(gè)select查詢將返回RowsAffected值為-1并且返回帶有一行或多行內(nèi)容的打開的Recordset。 4. conn.execute sql適合于不需返回recordset對象時(shí)使用,比如下面的代碼: 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é)束”這樣的錯(cuò)誤提示,我翻看了一下語法格式,發(fā)現(xiàn)有二種格式,詳解如下: 格式一:Connection對象名.execute(SQL指令) 格式二:Connection對象名.execute(數(shù)據(jù)表名) 該文章在 2022/6/21 18:08:42 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |