中国设计秀欢迎投稿
联网
平面设计 画册 VI欣赏 包装 CG-插画 搜索 个人网页 Alexa排名 CSS 建站资源 下载专区 JS特效 品牌服装 服装院校 专题欣赏 SEO 图标欣赏 专题
域名注册 虚拟主机 广州网站设计 域名注册 广州网站建设 上海网站建设 虚拟主机 广州网页设计 签名设计 虚拟主机 域名注册 acg王国 ACG玩家
求创科技
上海网麒科技
中国福网
数字引擎
招聘求职
中国互联
时代互联
中资源
当前位置:网络学院首页 >> 编程开发 >> asp >> conn.execute的用法

conn.execute的用法

来源:中国设计秀    作者:cpcw    点击:80     加入收藏    发表评论
0
顶一下
关键字:asp conn.execute
中国品牌设计网

conn.execute、rs.open之间的差别conn.execute、rs.open、command.execute方法用法大大不同

通常形成记录集可以使用

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比上一个性能要好那么一丁点
( command对象更灵活,执行范围更广)

使用 CONN.execute 可以不用关闭直接执行下一个 set rs=conn.execute(SQL)
但性能速度会大打折扣!!
大约要慢 2~5倍!!(这是我在msSQL循环1000次亲自测试过的,不信你马上自己测试),所以执行下一个 rs=conn.execute之前!!一定要关闭掉!是

个好习惯!
使用单一对象的rs rs.open在open下一个记录集之前,必需要求显示关闭,否则出错,速度在SQL,CONN,0,1的情况下可前者基本一样

所以我喜欢使用直设置一个 CreateObject("adodb.recordser"(在不需要多个记录集交错操作的情况下,多个也不碍是!)
然后从头用到尾!!!
开门关门开门关门
最后一个 set rs=nothing 化上句号!

更主要是 open提供非常灵活的操作数据库元数据的非常多的属性!!
打开百宝箱,金光灿灿什么都看见!
有很多情况下是非得用open来做的!
而conn.execute 想黑布下换胶卷~~~偷偷摸摸~~非常单一!!!

比如:

rs1.open SQL1,conn,0,1
rs.open SQL,conn,1,3
if rs(0)<0 then rs(0)=0
rs(1)=aaa
rs(2)=bbb
rs.update ' 更新记录集写到数据库

rs.addnew '加一条新记录
rs(0)=1
rs(1)=ddd
rs(2)=kkk
rs.update
id=rs(3) rs(s) '取的字段是自动编号 立即获得新记录的自动编号id //这是非常常用的

rs1.addnew 对rs1添加关连使用id rs的新记录
rs1("id"=id
rs1(1)=...
..
rs1.update

rs1.close:set rs1=nothing
rs.close:set rs=nothing


上面的操作如果采用CONN.execute 则要用到四个 CONN.execute

CONN.execute("update .."
CONN.execute("insert into 表1:"
rs=CONN.execute("select 新的自动 id"
CONN.execute("insert into 表二"
那一种方法逻辑条理更好,一目了然


还有一个有趣的使用Recordset open记录的方法!!
我想起来是有点费解

Set rs=server.CreateObject("Adodb.recordset"
Set rs=server.CreateObject("Adodb.recordset"

rs.open SQL1,CONN
rs.open SQL2,CONN

这是同时设置同名的两个对象来打开两个记录集,而且是可用的!
'只要取的列名合乎这两个记录集中元数据
'则正常操作!!
扩展开来

Set rs=server.CreateObject("Adodb.recordset"
Set rs=server.CreateObject("Adodb.recordset"
Set rs=server.CreateObject("Adodb.recordset"
Set rs=server.CreateObject("Adodb.recordset"

rs.open SQL1,CONN
rs.open SQL2,CONN
rs.open SQL3,CONN
rs.open SQL4,CONN

这样大于二个同名的 rs我还没试过!!

感觉有点相当与 SQL联合查询再打开记录集~~~
以前我这样用过!!应该不是眼花!!
===============

什么时候用什么?
那就凭个人经验积累的感觉了:
如果只需要一笔带过的碰碰数据库,用execute
如果要对数据库作比较庞杂的操作!则最好用 rs.open

2008-07-12 09:34:01    出处:中国设计秀cnwebshow.com
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明 | 网站公告 | 友情链接 | 留言 | 旧版入口