VB中关于adodb.recordset的recount的问题

首先引用ado2.8
然后在代码中使用,遇到的问题是这样的
比如
第一种情况:
sql="select * from 表"
rs.open sql,conn,1,3

这是第一种情况,rs.recount要嘛为0,要嘛就是正数。

而第二种情况
sql="select sum(字段1) from 表" 或者sql="select 字段 from 表 group by 字段"
rs.open sql,conn,1,3
像这种带个函数的查询,rs.recount都是-1,这是为什么。如果这种情况我想知道有多少条记录,不得一条一条去循环数?

sql = "select å­—段1 from è¡¨ group by å­—段1"

    sql = "select gyh_riqi,sum(shuju1) as hj from jishijilu where gyh_riqi='1000-061210' group by gyh_riqi"
    sql = "select gyh_riqi,sum(shuju1) as hj from jishijilu  group by gyh_riqi"
    sql = "select gyh_riqi as hj from jishijilu  group by gyh_riqi"

以上三句代码是经测试无问题的写法。

追问

我没有问SQL语言咯。

追答

这说明你代码运行的环境有问题,或许是未引用必要的系统dll文件。建议在VB6.0新建一个数据工程,再使用你的代码。

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-06-11
返回 -1,是说明 没有记录,记录数为0
你说的:sql="select sum(字段1) from 表"
rs.recount 不会-1的,应该是 1追问

确实是这样的。debug.print rs.recout确实显示-1,可是是有记录的,至少用rs.fields(0)都是可以取到值的。

追答

那你还是好好找原因。rs.fields(0)都是可以取到值,rs.recout确实显示-1,不是矛盾的?

ADODB.Recordset (0x800A0E7D)连接无法用于执行此操作。在此上下文中...
连接无法用于执行此操作。在此上下文中它可能已被关闭或无效.可能错误:1 数据库的连接对象adodb.connection 的设置有错。2,在使用其所长连接对象时已经被你关闭,应重新打开。3,虽然连接对象打开,recordset对象设置有误。

vb中如何调用Access数据表中的某一个记?
1. 首先,确保在项目中添加ADO控件。在“工程”菜单下的“部件…”选项中,选择并添加Microsoft ActiveX Data Objects 2.5 到工具箱。2. 将ADO控件拖至窗体,然后在代码编辑器中编写代码,通过ADO对象连接Access数据库。例如: `Dim con As ADODB.Connection`,`con.Open "Provider=Microsoft.Jet.OLED...

在VB中如何实现对access表的遍历和整列赋值
用记录集对象打开数据库表,对记录集遍历即可:Do while not rs.EOF rs.fields(i)="aa"'对当前记录某列赋值 rs.MoveNext loop

asp中输出文本格式的问题
<!--#include file="conn.asp"--> < set rs=server.createobject("adodb.recordset")exec="select * from gsjj"rs.open exec,conn,1,1 > <%=rs("gsjj")%> < rs.close set rs=nothing conn.close set conn=nothing >

asp中如何检测用户名已经存在?
Set rs = Server.CreateObject ("ADODB.Recordset")sql = "Select * from u_ser where u_name='"&name&"'"rs.Open sql,conn,1,1 if rs.eof and rs.bof then response.write("true")else response.write("false")end if rs.close set rs=nothing call CloseDatabase > 如何将异步获取...

asp分页游标不能移动到下一条记录
set rs=server.createobject("adodb.recordset")sql="SELECT * FROM 新闻 Where 是否发布 = True " '由于是输入查询所以需构建SQL语句,模糊查询必须是 If Title <> "" Then sql = sql & " and (标题 like '%"&Title&"%') "End If If Author <> "" Then sql = sql & " and (...

不能更新。数据库或对象为只读。
[Microsoft][ODBC Microsoft Access Driver] 不能更新。数据库或对象为只读。造成这个原因的问题就是站点目录的访问权限问题,因为在使用Access数据库的时候,要在同目录生成一个.ldb文件,如果此目录没有写权限或者Access数据库本身没有写的权限,那么就会报这个错误。由于通过浏览器访问网站大都使用Internet...

ASPM-A105美国的牌号相当于我们国内是哪个?
Set rs1 = Server.CreateObject("ADODB.Recordset")rs1.Open "Select sum(recount) as total From zhuti",conn,1,1 Dim ors Set ors=new Cls_vbsPage Set ors.Conn=conn With ors .PageSize=bbipage \/\/定义分页 .PageName=PageName \/\/定义分页 .DbType="AC".RecType=-1 .JsUrl="inc\/"...

相似回答
大家正在搜