当前位置: 首页 > 图文教程 > 网络编程 > ASP > rs.open和conn.execute

ASP
ASP字符串大写转换成小写 ASP小写转换成大写 ucase lcase
asp base64加解密函数代码
Discuz!NT 论坛整合ASP程序论坛
discuz 2.0整合asp系统,用户添加函数
P3P 和 跨域 (cross-domain) cookie 访问(读取和设置)
通过asp程序来创建access数据库
检查access数据库中是否存在某个名字的表的asp代码
asp #include file 与 #include virtual 的区别小结
一个带采集远程文章内容,保存图片,生成文件等完整的采集功能
asp 横排显示数据
asp base64 utf-8为了兼容asp.net的base64
两个非常规ASP木马(可躲过扫描)
asp DateDiff实现文字在特定时间后消失
ASP所有的Session变量获取实现代码
关于ASP eof与bof 区别分析
asp ajax注册验证之 防止用户名输入空格
asp sqlserver 执行存储过程返回记录集报对象关闭时不允许操作
ASP 获取文件扩展名函数getFileExt()
asp 简单分页代码
asp删除mssql数据库中没有记录的图片代码

ASP 中的 rs.open和conn.execute


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 50 ::
收藏到网摘: n/a

问:

Rs.open和Rs.execute()   有什么不一样(RS为RECORDSET   对象)?在有些页面用set   Rs=conn.execute()   不能用,有些Rs.open不能用

答:

第一个是可以有不同的打开游标  
  第二个只有一个向前的游标  
  而且你第二个写的好象不太正确应该是conn.execute,没有rs.execute的吧。

rexsp(真水无香   ppcode.com)   :  
        不好意思,写错了,是set   Rs=conn.execute()   ,如果我的游标conn.cursorLocation=3,set   Rs=conn.execute()   和Rs.open有什么不一样?

conn.execute   执行效率更高,尤其在insert   into   ,update等操作时!

两种打开方式有区别,就是前面说的游标问题。  
   
  一般情况下两种都互相换用,但有时候比如你需要取rs.recordcount的时候就只能用open来打开了。具体其他的差别我也不太清楚。我是一般用execute,在遇到问题时用open

    通常 Set   rs=CONN.execute(SQL) 或直接   rs=CONN.execute(SQL)   
    和     Set   rs=Server.CreateObject("ADODB.Recordset")   
       rs.open   SQL,CONN,0,1     或   rs.open   SQL,CONN  
       这种情况   通常open比上一个性能要好那么一丁点   
    
    使用 CONN.execute 可以不用关闭直接执行下一个 set rs=conn.execute(SQL) 
    但性能速度会大打折扣!!  
    大约要慢 2~5 倍!!(这是我在msSQL循环1000次亲自测试过的,不信你马上自己测试),所以执行下一个 rs=conn.execute之前!!一定要关闭掉!是个好习惯!  
    使用单一对象的rs  rs.open在open下一个记录集之前,必须要求显示关闭,否则出错,速度在SQL,CONN,0,1的情况下可前者基本一样  
   
    所以我喜欢使用只设置一个 CreateObject("adodb.recordset")(在不需要多个记录集交错操作的情况下,多个也不碍事!)  
    然后从头用到尾!!!  
    开门关门开门关门~~~~~咵踏咵踏~~~~  
    最后一个   set   rs=nothing   化上句号,爽!  
   
    更主要是 open提供非常灵活的操作数据库元数据的非常多的属性!!  
    打开百宝箱,金光灿灿什么都看见!  
    有很多情况下是非得用open来做的!  
    而conn.execute 像黑布下换胶卷~~~偷偷摸摸~~非常单一!!!