rs.open與connection.execute(sql)的區別
標籤:
rs.open與connection.it |
分類: 程式設計相關 |
如果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)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7868752/viewspace-1649966/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【SQL】UNION ALL 與UNION 的區別SQL
- rs.open sql,conn,3,2和rs.open sql,conn,1,3是什麼意思?SQL
- SQL中Having與Where的區別SQL
- SQL join中on與where區別SQL
- SQL truncate 、delete與drop區別SQLdelete
- PL/SQL中command window與SQL window的區別SQL
- Sql server char,nchar,varchar與Nvarchar的區別SQLServer
- MySQL中普通sql與預編譯sql 區別MySql編譯
- sql server agent與sql server有什麼區別 ?SQLServer
- PL/SQL DEVELOPER工具與toad工具的區別SQLDeveloper
- SQL JOIN 中 on 與 where 有何區別SQL
- [精選] SQL中的IN與NOT IN、EXISTS與NOT EXISTS的區別及效能分析SQL
- MYSQL和SQL的區別MySql
- sql server中的一個坑-len與datalength區別SQLServer
- SQL語句case when外用sum與count的區別SQL
- oracle sql tuning_in與exists的區別_轉摘OracleSQL
- order by在SQL Server與Oracle中的一個區別SQLServerOracle
- SQL中on條件與where條件的區別[轉]SQL
- ??與?:的區別
- SQL Server中臨時表與表變數的區別SQLServer變數
- SQL中where和on的區別SQL
- sql語句中#{}和${}的區別SQL
- 對線面試官:SQL中的IN與NOT IN、EXISTS與NOT EXISTS的區別及效能分析面試SQL
- MySQL的@與@@區別MySql
- mybatis #與$的區別MyBatis
- Null 與 “” 的區別Null
- &與&&, |與||區別
- in與exist , not in與not exist 的區別
- SQL與NoSQL(關係型與非關係型)資料庫的區別SQL資料庫
- V$sql_text v$sqlarea v$sql 的區別SQL
- SQL語句中exists和in的區別SQL
- SQL語句中not in 和not exist的區別SQL
- v$sql和v$sqlarea的區別SQL
- SQL中IN和EXISTS用法的區別SQL
- CentOS 與 Ubuntu 的區別CentOSUbuntu
- artice與section的區別
- GET 與 POST 的區別
- WebSocket 與 Socket 的區別Web