也就是系统资源额外占用问题
为什么要这样写?
Set Rs = Conn.ExeCute("Update Table Set .....")
???
什么用到?RS有什么用?
Conn.ExeCute("Update Table Set .....")有返回值?
一下所述是本人对RS的认识 如果没什么不对的地方 请各位指正
----------------
1.conn.execute
set rs=conn.execute(sql)
执行完以后自动关闭记录集
最后只需要关闭连接就可以了
conn.close
set conn=nothing
2.rs.open
set rs=server.createobject("adodb.recordset")
sql="select * from table"
rs.open sql,conn,1,1
可以自己设定一些参数,即锁定和游标的移动方式
最后要关闭记录集和连接
rs.close
set rs=nothing
conn.close
set conn=nothing
3.command.execute
sql="select * from table"
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)
********
另回13楼
那样写法是个人习惯问题 不知道有什么不妥? 总之我那样写程序也一样进行
[此贴子已经被作者于2007-3-14 18:51:17编辑过]
[此贴子已经被作者于2007-3-16 17:39:51编辑过]