recordset对象的recordcount属性为什么返回-1?

binling 2002-06-12 09:10:42
大家帮我看看这几行ado代码:
set conn=server.CreateObject("adodb.connection")
conn.Open(Application("conn_ConnectionString"))
set rs=server.CreateObject("adodb.recordset")
sqlstr="select password from companies "where company_id= '"& userid &"'"
set rs=conn.Execute(sqlstr)
i=rs.RecordCount
userid是一个变量,执行execute后rs里面已经有了查到的正确的字段值,但recordcount属性却是-1,为什么会这样呢?
...全文
93 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
binling 2002-06-12
  • 打赏
  • 举报
回复
搞定了,就是不能用conn.excute,而要用rs.open才行
我爱你们!
struggle_wx 2002-06-12
  • 打赏
  • 举报
回复
数据库联接方式改为
conn.open "provider=sqloledb;data source=你的数据库名称;uid=用户名;pwd=密码;database=数据表名称"
并且定义一个record
set rs=server.creatobject("adodb.recordset")
用这个rs来打开sqlstr
rs.open sqlstr,conn,1


就可以了
zyhowe 2002-06-12
  • 打赏
  • 举报
回复
set conn=server.CreateObject("adodb.connection")
conn.Open(Application("conn_ConnectionString"))
set rs=server.CreateObject("adodb.recordset")
sqlstr="select password from companies where company_id= '"& userid &"'"
rs.open sqlstr, conn,1,3
i=rs.RecordCount
phoenixlj 2002-06-12
  • 打赏
  • 举报
回复
sqlstr中的where前面的"号是干什么用的,好像错了吧!
phoenixlj 2002-06-12
  • 打赏
  • 举报
回复
sqlstr中的where前面的"号是干什么用的,好像错了吧!
saucer 2002-06-12
  • 打赏
  • 举报
回复
do not use
set rs=conn.Execute(sqlstr)

use
rs.open sqlstr, conn,1,1
or
rs.open sqlstr, conn,3,1

then do
i=rs.RecordCount
yiwong2001 2002-06-12
  • 打赏
  • 举报
回复
如果你想得到recordcount的话你就不要使用execute方法
而使用 rs.open sqlstr,1,1

28,404

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧