LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

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

admin
2013年7月6日 16:34 本文熱度 4834
不管是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教程都沒有提到這個問題,搜索了一通也沒找到答案,懇請前人給指點一下其中的原因,可不要只說語法規則就這樣的喲,我希望得到正確答案,謝謝。

該文章在 2013/7/6 16:34:48 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
在线亚洲欧美动漫一区二区 | 久久偷拍免费2020 | 在线播放免费人成视频网站 | 亚洲国产国产一区二区三区 | 婷婷久久综合九色综合 | 亚洲精品免费在线观看 |