通常人们使用以下两种方法来执行SQL语句:

Set Rs=Conn.Execute(SqlStr)

Set Rs=Server.CreateObject("ADODB.RecordSet")

Rs.Open SqlStr,Conn,CursorType,LockType

这两种方法如果属性设置不正确,明明数据库里有记录,但RecordCount=-1,这往往是由于游标库选择的问题

第一种是返回一个记录集,由于Connection对象默认的记录集游标是服务器游标Conn.CursorLocation = adUseServer,

Connection.Execute 中游标又继承该设置,所以Rs.RecordCount=-1

只要在打开连接之前将游标库改成客户端游标Conn.CursorLocation = adUseClient 就可以正确得到记录数了

第二种是RecordSet对象打开一个记录集,由于其默认的记录集游标也是服务器游标Rs.CursorLocation = adUseServer

所以返回Rs.RecordCount=-1,

应该把服务器游标改为客户端游标就OK了,

Rs.CursorLocation = adUseClient

Rs.Open SqlStr,Conn,CursorType,LockType

如果原来conn游标是客户端游标,Recordset 将自动从与之关联的连接中继承该设置,结果也不会有问题

转载于:https://www.cnblogs.com/pandoi/archive/2013/02/06/RecordCount.html

RecordCount = -1问题相关推荐

  1. 慎用 TOraQuery RecordCount

    2019独角兽企业重金招聘Python工程师标准>>> 在使用 TOraQuery 时, 有时为了获取结果集里的数据条数, 会直接使用 RecordCount 属性; 这时, 如果未 ...

  2. recordset.recordcount的问题

    在写一个程序里,使用了JET调用ACCESS数据库,在程序中需要知道recordset的记录数,使用了recordcount属性每次都得到的是1,百思不得其解,偶然发现,调用movelast之后再去读 ...

  3. mysql recordcount 1_[转载]ADO记录集GetRecordCount()返回记录条数为啥总为-1

    我用ADO组件访问Sybase/mysql数据库,执行SQL语句会返回_RecordsetPtr记录集指针,这个指针有个成员函数GetRecordCount(),我想通过他知道记录集中有多少条记录,但 ...

  4. (ASP) RecordCount的问题: rs.CursorLocation

    结果集的光标位置必须在客户端 rs.CursorLocation = adUseClient 或 rs.CursorLocation = 3 否则显示-1 ? 然后,rs.open sql,conn, ...

  5. access导出MySQL表格_如何将Access数据库里的表内容导出到Excel

    Public Function ExporToExcel(strOpen As String) '*************************************************** ...

  6. 前后端分离的接口规范是什么?

    前言 随着互联网的高速发展,前端页面的展示.交互体验越来越灵活.炫丽,响应体验也要求越来越高,后端服务的高并发.高可用.高性能.高扩展等特性的要求也愈加苛刻,从而导致前后端研发各自专注于自己擅长的领域 ...

  7. Castle ActiveRecord学习(四)延迟加载、分页查询、where条件

    一.延迟加载 //用户发布的主题,一对多:Table:外键表:ColumnKey:外键:Lazy:延迟加载:Cascade:级联操作(级联删除)[HasMany(typeof(ThemeInfo), ...

  8. [转载红鱼儿]kbmmw 开发点滴:ErrorTable用法

    TkbmMWClientQuery有一个ErrorTable属性,用于记录提交Query时返回的错误结果.当用户保存修改的业务数据,出错时,可以用ErrorTable定位出错的记录并提示错误信息. 下 ...

  9. sql server 2005分页存储过程和sql server 2000分页存储过程(摘)

    USE [svnhost] GO /****** 对象:  StoredProcedure [dbo].[up_Page2005]    脚本日期: 05/21/2008 11:27:05 ***** ...

  10. DataGrid连接Access的快速分页法——动态生成SQL语句

    作者:黎波 using System; using System.Text; namespace Paging { /// <summary> /// FastPaging 的摘要说明. ...

最新文章

  1. Cocos Creator里cc.tween的stopAllActions() 和 repeatForever的用法
  2. c 普通的文本变成注释文本的快捷键_收藏了!IntelliJ IDEA 2019 快捷键开发手册
  3. C语言经典例76-根据n的奇偶性累加
  4. Go如何按行读取文本
  5. 集合元素处理(Stream方式)
  6. AGC024E - Sequence Growing Hard
  7. 你的灯亮着么阅读笔记3
  8. Linux系统修改环境变量PATH路径
  9. 【Flink】 producer attempted to use a producer id which is not currently assigned to its transaction
  10. 雷电三接口有什么用_「滕·Gallery」我是如何用奥睿科雷电三硬盘盒来弥补之前的失误的? | 数字尾巴 分享美好数字生活...
  11. securecrt delete键向后删除
  12. vs2010 sp1 安装错误,重新安装错误
  13. python3修改pip执行环境和安装软件源
  14. 计算机网络的组成和主要功能,计算机网络的组成与功能
  15. [轻松学会shell编程]-3、grep、正则表达式、awk的详细用法、分析系统自带的两个文件(functions和network)
  16. 便签 java_基于安卓Android的便签笔记APP设计(Android studio)
  17. 编写函数swap实现两个数据的互换,形参分别指针和引用
  18. google Map API实现地址解析
  19. SuperMap iClient3D for WebGL中加载地方天地图
  20. 小型双轮差速底盘三灰度循迹功能的实现

热门文章

  1. Python读取相对路径文件
  2. python if .for 等函数
  3. 【游戏设计模式】之一 序言:架构,性能与游戏
  4. 小白爬虫入门~python爬取职友集招聘职位信息
  5. 数据库实验第七周【集合查询数据更新】
  6. iPi Soft: Motion Capture for the Masses(大众化的运动捕捉软件)
  7. Mount is denied because the NTFS volume is already exclusively opened.The volume may be already ...
  8. 流媒体直播协议与比较
  9. html5 视频字幕制作工具,短视频如何添加字幕?10分钟学习5款视频字幕制作工具,干货!...
  10. U-BLOX GPS 模块及GPRMC指令解析