标题:[求助]高手帮帮忙!!!谢谢
只看楼主
jimboy
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2005-8-30
 问题点数:0 回复次数:13 
[求助]高手帮帮忙!!!谢谢
sql="select * from UserInfoList where Id='"&id&"'
  rs.open sql,conn,2,3

sql="select * from UserInfoList where Id='"&id&"'"
  set rs = conn.execute(sql)
他们的区别?各自的好处?

[此贴子已经被作者于2005-8-30 23:02:12编辑过]


搜索更多相关主题的帖子: sql UserInfoList conn 
2005-08-30 22:08
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5807
专家分:108
注 册:2005-4-7
得分:0 
区别不大

2005-08-31 08:19
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
得分:0 
sql="select * from UserInfoList where Id='"&id&"'
  rs.open sql,conn,2,3
这样用好
2005-08-31 08:24
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5807
专家分:108
注 册:2005-4-7
得分:0 
不过好象上面的那个执行效率高

2005-08-31 08:24
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
得分:0 
sql="select * from UserInfoList where Id='"&id&"'
  rs.open sql,conn,2,3

这样可以控制指针类型、打开类型、分页来改变执行效率和特殊功能
2005-08-31 08:27
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5807
专家分:108
注 册:2005-4-7
得分:0 
同意
呵呵

2005-08-31 08:28
jimboy
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2005-8-30
得分:0 
谢谢两位版主
但是我用sql="select * from UserInfoList where Id='"&id&"'
  rs.open sql,conn,2,3时,提示出错,说rs缺少对象,用了另一个这个错误就消失了
不知道为什么?

2005-08-31 08:59
regedit
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:950
专家分:0
注 册:2004-6-8
得分:0 
这是因为你用rs.open sql,conn,2,3之前没有建立对象集,即set rs=server.createobject("adodb.recordset")
而你用set rs = conn.execute(sql)时,是指设置rs为conn.execute(sql)取得的记录集,这个是无需建立对象来获取的!这个跟上面的用法差别只是在指针上

最新作品:百货品牌商品资讯第一门户([url]http://www./[/url]),欢迎交流
2005-08-31 09:04
jimboy
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2005-8-30
得分:0 
哦,谢谢了,版主
我知道了

2005-08-31 09:10
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
以下是引用jimboy在2005-8-30 22:08:19的发言: sql="select * from UserInfoList where Id='"&id&"' rs.open sql,conn,2,3 和 sql="select * from UserInfoList where Id='"&id&"'" set rs = conn.execute(sql) 他们的区别?各自的好处?
sql="select * from UserInfoList where Id='"&id&"' rs.open sql,conn,2,3 和 sql="select * from UserInfoList where Id='"&id&"'" set rs = conn.execute(sql) 这两个是有区别的用rs.open sql,conn,2,3这个方法打开后用rs.Update或rs.Delet都不会出错误。 如果set rs = conn.execute(sql)用这样方法打开用Update或Delet就有可能出错误。 set rs = conn.execute(sql)这种方法要更新纪录集一般就是用T-SQL语句来更新,而rs.Open方法可以用RecordSet对象的Update方法来更新数据库。这就是区别之一,一般如果只用来做查询的用set rs = conn.execute(sql)这种方法。做修改或添加的一般用rs.open sql,conn,2,3这种方法。不过并非绝对,两种方法同样可以做添加修改只不过set rs = conn.execute(sql)一般用T-SQL语句来添加和修改。rs.open sql,conn,2,3一般用本身的AddNew、Update等方法来添加修改。
2005-08-31 10:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-26364-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.061083 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved