Sign-up....

set rs=Conn.Execute的问题

sql="select * from new"

set rs=conn.execute (sql)

以上这两句执行完之后,为什么返回的记录集的记录数是-1呢?

set rs=server.createobject("adodb.recordset")

rs.open "select * from new order by tjdate desc",conn,1,1

而我用这两句就可以返回正确的数据?

查了ado的帮助,明明写着execute方法可以返回记录集的呀?

[237 byte] By [msdn] at [2007-8-14 19:10:54]
# 1 Re: set rs=Conn.Execute的问题

我刚才又加了几句:

response.write rs.recordcount

do while not rs.eof

response.write rs("title") & "<br/>"

rs.movenext

loop

虽然输出的记录数为-1,可是能够输出正确的记录

这是为什么呢?

huanshen0634 at 2005-6-15 9:16:14 >
# 2 Re: set rs=Conn.Execute的问题

对,可以返回记录集,

sql="select * from new"

set rs=conn.execute (sql)

这个时候记录集中已经有内容了,当时如果你要得到它的记录数,使用recordcount就会得到-1,需要使用getrows才能得到正确的记录数。

itzhiren at 2005-6-15 9:17:42 >
# 3 Re: set rs=Conn.Execute的问题

跟你的游标类型有关系

killStar at 2005-6-15 9:19:31 >
# 4 Re: set rs=Conn.Execute的问题

rs.open "select * from new order by tjdate desc",conn,1,1

這一句的錯誤,你改成

rs.open "select * from new order by tjdate desc",conn,1,3

winlmh at 2005-6-15 9:20:17 >
# 5 Re: set rs=Conn.Execute的问题

execute方法返回的记录集不支持RecordCount、PageSize等

key_pwd at 2005-6-15 9:33:08 >
# 6 Re: set rs=Conn.Execute的问题

sql="select * from new"

set rs=conn.execute (sql)

arrA=rs.getrows

Response.Write(ubound(arrA,2)+1)

就可以输出记录集的记录总数

itzhiren at 2005-6-15 9:34:53 >
# 7 Re: set rs=Conn.Execute的问题

再次请教getrows的用法

huanshen0634 at 2005-6-15 9:41:12 >
# 8 Re: set rs=Conn.Execute的问题

关键在这呢,游标问题。

楼主一顶对vb连接数据库的方法不够熟悉。

wxylvmnn at 2005-6-15 9:52:26 >
# 9 Re: set rs=Conn.Execute的问题

嗯,getrows这个方法怎么用呀/

huanshen0634 at 2005-6-15 9:54:06 >
# 10 Re: set rs=Conn.Execute的问题

sql="select * from table"

set rs = conn.execute(sql)

arrA=rs.getrows

Response.Write(ubound(arrA,2)+1)

就可以得到正确的记录总数

itzhiren at 2005-6-15 10:01:42 >
# 11 Re: set rs=Conn.Execute的问题

sql="select * from table"

set rs = conn.execute(sql)

arrA=rs.getrows

Response.Write(ubound(arrA,2)+1)

for a=0 to ubound(arra,1)

for b=0 to ubound(arra,2)

response.write arra(a)(b)

next

next

为什么提示我

下标越界: 'arrA' ?

huanshen0634 at 2005-6-15 10:15:37 >
# 12 Re: set rs=Conn.Execute的问题

response.write arra(a,b)

itzhiren at 2005-6-15 10:25:38 >

Web

All Classified