**************一个关于用ADO返回记录总数的小问题,快来那分啦!!!!!*************

a9a9a9 2001-07-09 11:55:32
一个关于用ADO返回记录总数的小问题
我在FORM中用一个TEXTBOX接收SQL,用BUTTON1执行SQL并返回记录总数.第一条SQL成功.但第二条总是报错请各位大侠帮忙找找原因!先谢了!
我的数据源是ODBC 数据库是ORACLE 8

错误提示如下:
***************************************************
Run-time error'-2147467259(80004005)'; *
Method 'RecordCount' of object '_Recordset'failed *
***************************************************

SQL如下:
1.select SPXXB.GFBM,SPXXB.SPBM,SPXXB.SPMC,SPXXB.SLDW from SPXXB
2.select XSMXB.JYH,XSMXB.SPBM,XSMXB.XSSL,XSMXB.SPDJ from XSMXB

程序代码如下:
Option Explicit
Public CNN_getdata As New ADODB.Connection
Public RST_getdata As New ADODB.Recordset
Public cnnStr_get As String
Public sqlStr_get As String

Private Sub Form_Load()

cnnStr_get = "User ID=" & userIDlog & ";Password=" & userPWDlog & ";Data Source=" & dsnS
CNN_getdata.Open cnnStr_get
.
.
.
End Sub

Private Sub button1_click()
Dim Allrecords As Integer

Allrecords = 0
sqlStr_get = Text1.Text
CNN_getdata.CursorLocation = adUseClient
RST_getdata.Open sqlStr_get, CNN_getdata, adOpenKeyset, adLockOptimistic
Allrecords = RST_getdata.RecordCount '***************************************在这里报错 [: (
.
.
.

End Sub
...全文
151 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
leen_yang 2001-07-25
  • 打赏
  • 举报
回复
@_@
julian 2001-07-10
  • 打赏
  • 举报
回复
我写错了
应该这样子

RST_getdata.CursorLocation = adUseClient
RST_getdata.CursorType = adOpenDynamic

RST_getdata.Open sqlStr_get, CNN_getdata

Allrecords = RST_getdata.RecordCount

这样可以得到RecordCount 的值




kingofcats 2001-07-09
  • 打赏
  • 举报
回复
报什么错?请注明.
wywq 2001-07-09
  • 打赏
  • 举报
回复
或者adLockOptimistic
wywq 2001-07-09
  • 打赏
  • 举报
回复
adOpenKeyset
cqq_chen 2001-07-09
  • 打赏
  • 举报
回复
用ADO开发ORACLE 8应用程序我就有试过。不过如果用ADO访问MSSQL7时,.RecordCount的值应该是-1才对。

hz1101 2001-07-09
  • 打赏
  • 举报
回复
因为你用的是integer,用long型
a9a9a9 2001-07-09
  • 打赏
  • 举报
回复
rst的总记录数有限制吗?
还是可以读取无限多的记录?
12万条为什么就提示我"溢出"了!
多谢各位老大啦!!!!!!!!
newyon 2001-07-09
  • 打赏
  • 举报
回复
RS.OPEN sql语句,CNN_getdata,adOpenStatic, adLockOptimistic应该就可以了得到Recordcount啦!
a9a9a9 2001-07-09
  • 打赏
  • 举报
回复
julian(julian)
CNN_getdata没有CursorType 啊????
a9a9a9 2001-07-09
  • 打赏
  • 举报
回复
不是我不愿意贴,只是源码比较乱,大家看了肯定会头疼.
我觉得既然第一条能够运行,第二条没理由不可以呀?
hz1101 2001-07-09
  • 打赏
  • 举报
回复

可能吗?要错也应该在上一句出错(比如字符串不对等),成功执行完上一句后,Allrecords = RST_getdata.RecordCount 无论如何也不会出错!能将源码贴出来让大家亲自测试吗?
julian 2001-07-09
  • 打赏
  • 举报
回复
CNN_getdata.CursorLocation = adUseClient
CNN_getdata.CursorType = adOpenDynamic

CNN_getdata.Open sqlStr_get, CNN_getdata

Allrecords = RST_getdata.RecordCount

这样可以得到RecordCount 的值

sam_xcx 2001-07-09
  • 打赏
  • 举报
回复
你刷新以后在试第二条语句
a9a9a9 2001-07-09
  • 打赏
  • 举报
回复
RST_getdata.Open sqlStr_get, CNN_getdata, adOpenKeyset, adLockOptimistic
也不行

错误已经写在上面了!

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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