社区
数据库(包含打印,安装,报表)
帖子详情
为何adodb.command返回的recordset对象的recordset.count=-1
SonicOne
2004-01-24 10:05:19
如题:
用adodb.command为什么得不到所查询后的recordcount属性,如需要返回改怎么操作.
Set rsDataConfig = cmdDataConfig.Execute(, , adCmdText)
...全文
61
4
打赏
收藏
为何adodb.command返回的recordset对象的recordset.count=-1
如题: 用adodb.command为什么得不到所查询后的recordcount属性,如需要返回改怎么操作. Set rsDataConfig = cmdDataConfig.Execute(, , adCmdText)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chenyu5188
2004-01-26
打赏
举报
回复
现象
====
当在服务器端请求RecordCoun时会返回-1。这是因为ActiveX Data Objects (ADO) 2.0中的CursorType是adOpenForwardonly或者adOpenDynamic。如果是ADO 1.5,只发生在cursortype是adOpenForwardonly的时候。如果使用OLEDB provider for JET和SQL Server产生的结果可能不同,这依赖于数据库的提供者。
提供者可能不支持某些CursorTypes。当你选择的CursorType不被支持时,提供者将选择最接近于你所请求的CursorType。请参考你的提供者的文档。此外,请注意不是所有的LockType和CursorType的组合都可以同时工作。改变LockType将强制改变CursorType。请确定使用调试来检查CursorType的值。
原因
=====
在动态的游标中纪录号可能改变。Forward only的游标无法返回RecordCount。
解决办法
==========
使用adOpenKeyset(=1)或者adOpenStatic(=3)作为服务器端游标或者客户端游标。客户端只使用adOpenStatic作为CursorTypes,而不管你选择什么样的CursorType。
rsDataConfig.CursorLocation = adUseClient'注意使用客户端游标
liuzhengyu
2004-01-26
打赏
举报
回复
同意一楼的看法,设置为临时表方式即可
在cn打开前加上这么一句:
cn.CursorLocation = adUseClient
unknow_123
2004-01-26
打赏
举报
回复
如果你只是用单机版的话,没有问题;如果是网络版,最好一个个地去计算,关于是为什么看看说明就知道了
华芸智森
2004-01-25
打赏
举报
回复
http://www.china-askpro.com/msg21/qa32.shtml
设置数据源的游标: .CursorLocation = adUseClient
Historian实时数据库连接
Private Sub
Command
1_Click() Dim connection1 As New
ADO
DB
.Connection Dim recset1 As New
ADO
DB
.
Recordset
Dim i
Count
& Dim strConnectionString$ On Error GoTo ErrorHandler ' connect to default iHistorian server with default credentials strConnectionString$ = "Provider=ihOLE
DB
.iHistorian.1;User Id=;Password=" ' uncomment this if you want to connect to specific iHistorian server with a username and password 'strConnectionString$ = "Provider=ihOLE
DB
.iHistorian.1;Data Source=MYSERVER;User Id=user1;Password=password1" ' open connection connection1.ConnectionString = strConnectionString$ connection1.Open ' do the select. There are multiple ways to execute a
command
in
ADO
, this is just one recset1.Open "SELECT * FROM ihTags", connection1 ' print the output i
Count
= 0 Do While Not recset1.EOF Debug.Print recset1.Fields(0) recset1.MoveNext i
Count
= i
Count
+ 1 Loop ' print a
count
of rows If i
Count
= 0 Then MsgBox "No rows were returned in the query" Else MsgBox i
Count
& " rows returned." End If ' close the
recordset
recset1.Close Set recset1 = Nothing ' close the connection connection1.Close Exit Sub ErrorHandler: MsgBox Err.Description End Sub
Vb编程引用Word书签
VB访问word书签。 '实现代码如下 Dim cn As New
ADO
DB
.Connection Dim
Ado
Rs As New
ADO
DB
.
Recordset
Dim WordTemps As New Word.Application Private Sub Form_Load() If cn.State = 1 Then cn.Close End If cn.CursorLocation = adUseClient cn.Open "Provider=Microsoft.Jet.OLE
DB
.4.0;Data Source=" & App.Path & "\
db
1.m
db
" End Sub '开始导出数据 Private Sub
Command
1_Click() Dim strSQl As String Dim REC As Integer Dim i As Integer WordTemps.Documents.Add App.Path + "\货物合同.doc", False WordTemps.Selection.GoTo wdGoToBookmark, , , "合同标题" WordTemps.Selection.TypeText "关于冬季货物的成交合同" WordTemps.Selection.GoTo wdGoToBookmark, , , "合同编号" WordTemps.Selection.TypeText "2004000001" WordTemps.Selection.GoTo wdGoToBookmark, , , "签约单位" WordTemps.Selection.TypeText "宏大科技公司,天天科技公司" WordTemps.Selection.GoTo wdGoToBookmark, , , "签约地址" WordTemps.Selection.TypeText "北京中关村大厦" WordTemps.Selection.GoTo wdGoToBookmark, , , "签约时间" WordTemps.Selection.TypeText fromat(Now, "yyyy-mm-dd") strSQl = "select * from Matrixs"
Ado
Rs.Open strSQl, cn,
adO
penKeyset, adLockOptimistic REC =
Ado
Rs.Record
Count
If REC < 1 Then MsgBox "无商品记录!", vbOKOnly, "提示"
Ado
Rs.Close Exit Sub Else
Ado
Rs.MoveFirst WordTemps.Selection.GoTo wdGoToBookmark, , , "货物清单" For i = 1 To REC WordTemps.Selection.TypeText
Ado
Rs!名称 WordTemps.Selection.MoveRight unit:=wdCharacter,
Count
:=1 '右移一格 WordTemps.Selection.TypeText
Ado
Rs!数量 WordTemps.Selection.MoveRight unit:=wdCharacter,
Count
:=1 '右移一格 WordTemps.Selection.TypeText
Ado
Rs!规格
Ado
Rs.MoveNext If
Ado
Rs.EOF = False Then WordTemps.Selection.InsertRowsBelow 1 '表格换行 End If Next i
Ado
Rs.Close WordTemps.Visible = True '显示WORD窗口 End If End Sub '实现代码如下 Dim cn As New
ADO
DB
.Connection Dim
Ado
Rs As New
ADO
DB
.
Recordset
Dim WordTemps As New Word.Application Private Sub Form_Load() If cn.State = 1 Then cn.Close End If cn.CursorLocation = adUseClient cn.Open "Provider=Microsoft.Jet.OLE
DB
.4.0;Data Source=" & App.Path & "\
db
1.m
db
" End Sub '开始导出数据 Private Sub
Command
1_Click() Dim strSQl As String Dim REC As Integer Dim i As Integer WordTemps.Documents.Add App.Path + "\货物合同.doc", False WordTemps.Selection.GoTo wdGoToBookmark, , , "合同标题" WordTemps.Selection.TypeText "关于冬季货物的成交合同" WordTemps.Selection.GoTo wdGoToBookmark, , , "合同编号" WordTemps.Selection.TypeText "2004000001" WordTemps.Selection.GoTo wdGoToBookmark, , , "签约单位" WordTemps.Selection.TypeText "宏大科技公司,天天科技公司" WordTemps.Selection.GoTo wdGoToBookmark, , , "签约地址" WordTemps.Selection.TypeText "北京中关村大厦" WordTemps.Selection.GoTo wdGoToBookmark, , , "签约时间" WordTemps.Selection.TypeText fromat(Now, "yyyy-mm-dd") strSQl = "select * from Matrixs"
Ado
Rs.Open strSQl, cn,
adO
penKeyset, adLockOptimistic REC =
Ado
Rs.Record
Count
If REC < 1 Then MsgBox "无商品记录!", vbOKOnly, "提示"
Ado
Rs.Close Exit Sub Else
Ado
Rs.MoveFirst WordTemps.Selection.GoTo wdGoToBookmark, , , "货物清单" For i = 1 To REC WordTemps.Selection.TypeText
Ado
Rs!名称 WordTemps.Selection.MoveRight unit:=wdCharacter,
Count
:=1 '右移一格 WordTemps.Selection.TypeText
Ado
Rs!数量 WordTemps.Selection.MoveRight unit:=wdCharacter,
Count
:=1 '右移一格 WordTemps.Selection.TypeText
Ado
Rs!规格
Ado
Rs.MoveNext If
Ado
Rs.EOF = False Then WordTemps.Selection.InsertRowsBelow 1 '表格换行 End If Next i
Ado
Rs.Close WordTemps.Visible = True '显示WORD窗口 End If End Sub
Word VB API参考(全网最全最新整理)
VB访问word书签。 '实现代码如下 Dim cn As New
ADO
DB
.Connection Dim
Ado
Rs As New
ADO
DB
.
Recordset
Dim WordTemps As New Word.Application Private Sub Form_Load() If cn.State = 1 Then cn.Close End If cn.CursorLocation = adUseClient cn.Open "Provider=Microsoft.Jet.OLE
DB
.4.0;Data Source=" & App.Path & "\
db
1.m
db
" End Sub '开始导出数据 Private Sub
Command
1_Click() Dim strSQl As String Dim REC As Integer Dim i As Integer WordTemps.Documents.Add App.Path + "\货物合同.doc", False WordTemps.Selection.GoTo wdGoToBookmark, , , "合同标题" WordTemps.Selection.TypeText "关于冬季货物的成交合同" WordTemps.Selection.GoTo wdGoToBookmark, , , "合同编号" WordTemps.Selection.TypeText "2004000001" WordTemps.Selection.GoTo wdGoToBookmark, , , "签约单位" WordTemps.Selection.TypeText "宏大科技公司,天天科技公司" WordTemps.Selection.GoTo wdGoToBookmark, , , "签约地址" WordTemps.Selection.TypeText "北京中关村大厦" WordTemps.Selection.GoTo wdGoToBookmark, , , "签约时间" WordTemps.Selection.TypeText fromat(Now, "yyyy-mm-dd") strSQl = "select * from Matrixs"
Ado
Rs.Open strSQl, cn,
adO
penKeyset, adLockOptimistic REC =
Ado
Rs.Record
Count
If REC < 1 Then MsgBox "无商品记录!", vbOKOnly, "提示"
Ado
Rs.Close Exit Sub Else
Ado
Rs.MoveFirst WordTemps.Selection.GoTo wdGoToBookmark, , , "货物清单" For i = 1 To REC WordTemps.Selection.TypeText
Ado
Rs!名称 WordTemps.Selection.MoveRight unit:=wdCharacter,
Count
:=1 '右移一格 WordTemps.Selection.TypeText
Ado
Rs!数量 WordTemps.Selection.MoveRight unit:=wdCharacter,
Count
:=1 '右移一格 WordTemps.Selection.TypeText
Ado
Rs!规格
Ado
Rs.MoveNext If
Ado
Rs.EOF = False Then WordTemps.Selection.InsertRowsBelow 1 '表格换行 End If Next i
Ado
Rs.Close WordTemps.Visible = True '显示WORD窗口 End If End Sub '实现代码如下 Dim cn As New
ADO
DB
.Connection Dim
Ado
Rs As New
ADO
DB
.
Recordset
Dim WordTemps As New Word.Application Private Sub Form_Load() If cn.State = 1 Then cn.Close End If cn.CursorLocation = adUseClient cn.Open "Provider=Microsoft.Jet.OLE
DB
.4.0;Data Source=" & App.Path & "\
db
1.m
db
" End Sub '开始导出数据 Private Sub
Command
1_Click() Dim strSQl As String Dim REC As Integer Dim i As Integer WordTemps.Documents.Add App.Path + "\货物合同.doc", False WordTemps.Selection.GoTo wdGoToBookmark, , , "合同标题" WordTemps.Selection.TypeText "关于冬季货物的成交合同" WordTemps.Selection.GoTo wdGoToBookmark, , , "合同编号" WordTemps.Selection.TypeText "2004000001" WordTemps.Selection.GoTo wdGoToBookmark, , , "签约单位" WordTemps.Selection.TypeText "宏大科技公司,天天科技公司" WordTemps.Selection.GoTo wdGoToBookmark, , , "签约地址" WordTemps.Selection.TypeText "北京中关村大厦" WordTemps.Selection.GoTo wdGoToBookmark, , , "签约时间" WordTemps.Selection.TypeText fromat(Now, "yyyy-mm-dd") strSQl = "select * from Matrixs"
Ado
Rs.Open strSQl, cn,
adO
penKeyset, adLockOptimistic REC =
Ado
Rs.Record
Count
If REC < 1 Then MsgBox "无商品记录!", vbOKOnly, "提示"
Ado
Rs.Close Exit Sub Else
Ado
Rs.MoveFirst WordTemps.Selection.GoTo wdGoToBookmark, , , "货物清单" For i = 1 To REC WordTemps.Selection.TypeText
Ado
Rs!名称 WordTemps.Selection.MoveRight unit:=wdCharacter,
Count
:=1 '右移一格 WordTemps.Selection.TypeText
Ado
Rs!数量 WordTemps.Selection.MoveRight unit:=wdCharacter,
Count
:=1 '右移一格 WordTemps.Selection.TypeText
Ado
Rs!规格
Ado
Rs.MoveNext If
Ado
Rs.EOF = False Then WordTemps.Selection.InsertRowsBelow 1 '表格换行 End If Next i
Ado
Rs.Close WordTemps.Visible = True '显示WORD窗口 End If End Sub end
软件工程工资管理系统
目 录 数据库课程设计报告 1 1.开发环境和相关技术介绍 5 1.1开发环境 5 1.2相关技术介绍 5 2.需求分析 5 2.1系统需求和功能 5 2.1.2功能需求描述 6 2.1.2.1员工基本信息模块 6 2.1.2.2工资结构设置模块 6 2.1.2.3工资汇总模块 6 2.2数据字典 6 2.2.1数据结构 7 2.2.2数据项 7 2.2.3数据流 8 2.4安全性要求 8 2.5一致性要求 9 2.6完整性要求 9 3 概念结构设计 9 3.1设计方法和步骤 9 3.2概念结构E-R图 9 4.逻辑结构设计 9 4.1具体R
DB
MS数据模型转换 9 4.2系统结构图 10 5.数据库物理设计 10 5.1索引的选择建立 10 5.2数据存放位置 10 5.3确定系统配置 10 6.数据库实施 10 6.1数据库创建 10 6.1.1各数据表说明 10 6.1.2数据库创建 11 6.2数据库备份和恢复方案 13 6.2.1应用辅助工具进行备份和恢复 13 6.2.2分离数据库法 13 6.3用户界面设计和应用程序编码 13 6.3.1用户界面设计 13 6.3.2类文件功能描述 14 6.3.3主要代码分析 14 }7.系统测试方案和测试报告 21 7.1测试方案 21 7.2测试过程 21 7.2.1登陆测试 21 8.安装和使用说明 25 8.1安装说明 25 8.1.1安装VB6.0E 25 8.1.2安装Microsoft SQL Server 2000 O
DB
C驱动程序 25 8.1.3升级Microsoft SQL Server 2000数据库管理系统 25 8.1.4附加数据库 25 8.1.5可能出现情况 25 9.完成情况和总结 25 9.1总结 25 1.开发环境和相关技术介绍 1.1开发环境 项目名称: 工资管理系统 开发软件:vb6.0与Access 2000 运行环境:2000/XP/2003 1.2相关技术介绍 Microsoft SQL Server 2000数据库管理系统是微软公司研制开发的关系型数据库管理系统。该系统支持并扩展了SQL语言标准,可以运用标准SQL语句对数据进行操作,也可以使用功能强大的GUI工具进行灵活的数据管理。同时,系统还提供功能完善的API,可以在应用程序中调用这些API来实现与数据库系统的连接以及相关数据的操作。sp3是该系统的一个版本号,只有sp4以上的SQL 2000系统才能够支持纯O
DB
C连接方式。 Vb6.0功能强大的应用程序开发工具,主要支持基于面向对像化的语言的各种开发项目。 2.需求分析 2.1系统需求和功能 工资管理信息系统对企业加强工资管理有着重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等。 由于本软件主要是为作者工作的一家科技公司定制开发的。该公司是一家刚刚成立的公司,总体人员比较少,有正式员工20人,人员结构比较简单,学历比较高,基本拥有大专以上学历,部门划分也很清晰,而且人员的流动性不高,所以公司目前对工资管理的要求不高。因此,针对该公司而言,我们经过反复论证,最终确定了工资管理系统的设计方案,该工资管理系统的主要功能如图3.1所示: 2.1.2功能需求描述 2.1.2.1员工基本信息模块 员工基本信息模块具有员工信息输入、员工增删、员工信息查询三个功能,员工基本信息包括员工号、员工姓名、员工性别、所在部门、所在岗位、工龄和工资等级等信息。员工增删实现了对数据库中员工信息的增加和删除。员工可以通过员工号或员工姓名对员工信息进行查询。 2.1.2.2工资结构设置模块 根据该公司的工资管理实际情况,本系统将工资结构分为基础工资、岗位工资、工龄工资三部分。该模块可以对这三个工资类型设置工资等级,并对每个等级设置工资标准。 2.1.2.3工资汇总模块 用户在员工信息管理模块对该员工的工资等级进行输入以后,在工资汇总模块会自动对员工工资进行汇总。用户可以打印出工资汇总表,打印之前可以通过打印预览功能进行打预览。 2.2数据字典 该软件的数据库由下述四张数据表组成: 员工信息表、基础工资设置表、岗位工资设置表 1、 员工信息表 字段 字段名 类型 宽度 说明 1 员工号 字符型 3 数字 2 员工姓名 字符型 10 小于等于5个汉字 3 员工性别 字符型 2 “男”或“女” 4 岗位名称 字符型 14 小于等于7个汉字 5 工龄 数值型 2 1~99之间 6 工资等级 数值型 2 1~99之间 2、 基础工资设置表 字段 字段名 类型 宽度
自己写的本网路
一个自己写的本网路 Dim conn As New
ADO
DB
.Connection Dim rs As New
ADO
DB
.
Recordset
Private Sub
Command
1_Click() Form2.Show End Sub Private Sub
Command
2_Click() Dim l As String Dim sql As String l = ListView1.ListItems.Item(ListView1.SelectedItem.Index).Text conn.Open "Provider = Microsoft.Jet.OLE
DB
.4.0;Data Source =" & App.Path & "\
db
.m
db
" sql = "delete from VbMemo where id =" & l conn.Execute sql conn.Close ListView1.ListItems.Remove ListView1.SelectedItem.Index MsgBox "删除成功!" End Sub Private Sub
Command
3_Click() End End Sub Private Sub Form_Load() Dim i As Long conn.Open "Provider = Microsoft.Jet.OLE
DB
.4.0;Data Source =" & App.Path & "\
db
.m
db
" rs.Open "select * from VbMemo", conn, 1, 3 If Not rs.EOF Then Do While Not rs.EOF i = i + 1 ListView1.ListItems.Add , , rs("id").Value ListView1.ListItems.Item(i).ListSubItems.Add , , rs("title").Value ListView1.ListItems.Item(i).ListSubItems.Add , , rs("memotime") rs.MoveNext Loop End If conn.Close End Sub Private Sub Timer1_Timer() Dim d As Date For i = 1 To ListView1.ListItems.
Count
d = ListView1.ListItems.Item(i).ListSubItems.Item(2).Text If (((Now + (5 / 24 / 60)) > d) And Now < d) Then MsgBox "时间到了" End If Next End Sub
数据库(包含打印,安装,报表)
1,216
社区成员
55,954
社区内容
发帖
与我相关
我的任务
数据库(包含打印,安装,报表)
VB 数据库(包含打印,安装,报表)
复制链接
扫一扫
分享
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章