CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

VB6中遇到的ADO和DLL问题,请不吝指点!

楼主liketony(tony)2001-05-15 15:09:00 在 VB / 基础类 提问

ADO.Recordset.recordcount属性为何总是-1,如何得到记录集中确切的纪录数,前提    
  是不用循环计数的方法,并且该纪录要可编辑。    
   
  如何用VB创建一个DLL,它可以不用声明一个对象就能调用其中的函数,即该函数不是作为对象的方法使用。    
   
  问题点数:15、回复次数:11Top

1 楼suhu(zym)回复于 2001-05-15 15:16:00 得分 0

if   ado.recordset.eof=false   or   ado.recordset.bof=false   then  
  ado.recordset.movelast  
  debug   ado.recordset.recodcount  
  end   if  
  Top

2 楼tele(tele)回复于 2001-05-15 15:22:00 得分 0

rsRms.Open   strSql,   connRms,   adOpenStatic,   adLockReadOnly  
  用静态方式打开adOpenStaticTop

3 楼jafi(胖猫先生)回复于 2001-05-15 15:35:00 得分 0

动态的也可以  
  假设connection为gcn,recordset变量为rs,sql语句为strsql(string型)  
  则  
      sql="select   *   from   table"  
      set   rs=gcn.execute(strsql)  
  然后   你看一下rs.recordcount是多少,(如果查询结果为0条记录,才返回-1,否则是多少返回多少)Top

4 楼hzh_wen_x(风之孔雀)回复于 2001-05-15 15:48:00 得分 0

返回值为-1,表示你打开数据库方式有问题!Top

5 楼playyuer(退休干部 卧鼠藏虫)回复于 2001-05-15 15:50:00 得分 10

1.rsRms.Open   strSql,   connRms,adOpenKeyset,adLockOptimistic   '键集方式打开即可  
   
  2.将   Class   的   Instancing   属性设为:   6   -   GlobalMultiUse   表示这个类的各种属性和方法可以象简单的全局函数那样被调用。该类的实例不需要显式创建,因为它会自动创建。   Top

6 楼ninglng(甯灵)回复于 2001-05-15 16:30:00 得分 0

        程序开头加上  
          recordset.MoveLast  
          recordset.MoveFirst  
   
            Top

7 楼eastxiang(飄)回复于 2001-05-15 17:09:00 得分 0

set   rs=db.execute("select   count(*)   as   records   from   Table")  
  recordCount=rs.field("records")  
  绝对正确!Top

8 楼yangsaibing()回复于 2001-05-15 17:19:00 得分 5

试一试下面这段代码:  
          Dim   Con   As   New   ADODB.Connection  
          Dim   Rs   As   New   ADODB.Recordset  
           
          Con.Open   "conOffice",   "uid",   "pwd"  
          Rs.LockType   =   adLockOptimistic  
          Rs.CursorType   =   adOpenKeyset  
           
          Rs.Open   "eis_user.city",   Con,   adOpenKeyset  
          MsgBox   Rs.RecordCount  
  不过,使用RecordCount时,如果表里的数据量太大,有可能会取回一个大致的数据,而不是精确的数据,即使打开记录后用到了MoveFirst以及MoveLast。我曾经遇到过。  
  Top

9 楼chengduliuhao(刘浩)回复于 2001-05-15 18:11:00 得分 0

设置cn.CursorLocation   =   adUseClient   Top

10 楼dave_ying(dave_ying)回复于 2001-05-16 10:04:00 得分 0

你的数据表里有没有创建主键Top

相关问题

  • vb and DLL
  • 在vb里用ado连接数据库,非常紧急,敬请高手指点!
  • 关于ASP调用一个VB的DLL(调用API)的问题,急啊,请高手指点
  • 请教dll问题,高手指点指点!
  • 如何调用dll,急,高手指点
  • 有高手帮我指点一下DLL
  • dll问题 希望高手指点 急!!!!
  • 关于dll的问题,请指点!
  • dll的封装!!高手给点指点。
  • dll 调用的错误,高手指点``````````````````````````````````````````````

关键词

  • 函数
  • 属性
  • ado
  • 数据
  • recordset
  • recordcount
  • adopenkeyset
  • rs
  • strsql
  • 打开

得分解答快速导航

  • 帖主:liketony
  • playyuer
  • yangsaibing

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo