标题:向高手求教,vb6.0循环读取数据集丢失记录问题
只看楼主
pxinfosoft
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2018-9-9
结帖率:50%
 问题点数:0 回复次数:4 
向高手求教,vb6.0循环读取数据集丢失记录问题
我是菜鸟,正学习一个网上下载的源码,遇到一个问题
'按照领用单号读取所有明细,并更改库存数量
Public Sub UpdateStore(ByVal TmpId As Long)
  Dim rs As New ADODB.Recordset  '定义结果集对象
  Dim lAmount As Integer   '领用数量
  Dim TmpOId As Long  '办公用品编号
  
  '设置SELECT语句,读取编号为TmpId的记录
  SqlStmt = "SELECT * FROM DrawList WHERE DId=" + Trim(TmpId)
  '将结果集读取到rs中
  Set rs = QueryExt(SqlStmt)

  Do While Not rs.EOF
    MyStore.OAmount = 0 - rs.Fields(3)      '领用数量
    MyStore.UpdateAmount (rs.Fields(2))     '办公用品编号
    rs.MoveNext
  Loop
End Sub

超过4条数据就会报错,错误3704 ,对象关闭时不允许使用

加上On Error Resume Next后不报错,但是超过4条以上的数据都丢失了
附有源码,您可以在领用中看一下,谢谢了!
办公用品管理系统.rar (210.75 KB)
搜索更多相关主题的帖子: vb6.0 读取 丢失 记录 数量 
2018-10-04 00:49
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
得分:0 
在模块Const里将语句“Public Const CONNECT_LOOP_MAX = 10”改成“Public Const CONNECT_LOOP_MAX = 50”。
这代码写的

能编个毛线衣吗?
2018-10-04 11:42
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
'断开与数据库的连接
Private Sub Disconnect()
  Dim rc As Long
  '如果连接标记为假,标明已经断开连接,则直接返回
  If IsConnect = False Then
    Exit Sub
  End If
  '关闭连接
  cnn.Close
  '释放cnn
  Set cnn = Nothing
  '设置连接标记,表示已经断开与数据库的连接
  IsConnect = False
End Sub

'使用Connect_Num控制数据库连接
Public Sub DB_Disconnect()
  If Connect_Num >= CONNECT_LOOP_MAX Then
    Connect_Num = 0
    Disconnect
  End If
End Sub
'强制关闭api方式访问的数据库,计数器复位
Public Sub DBapi_Disconnect()
  Connect_Num = 0
  Disconnect
End Sub

--------
那天看这代码,在想,为啥连接要使用一定次数后关掉,为啥不是在整个程序运行期间保持一次一个连接。
没看到 常量定义,不能就说问题出在这段代码中

大型工程,数据库操作 模块是应该封装到一个模块里,代码的可读性和移植性要好很多。
但限制连接复用次数倒是第一次,然后,你会限制连接使用次数,那你得到 结果,就应该是数据查询结果快照。
使用 command对象的 Execute 方法执行 sql ,你代码里已实现了,可以在这个函数的基础上,执行 select 的sql 命令,返回一个 结果快照rs,而不要使用 rs.open 。这种快照好像与数据库断开连接的。
手机上回的,胡言乱语请谅解。

授人于鱼,不如授人于渔
早已停用QQ了
2018-10-04 13:59
pxinfosoft
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2018-9-9
得分:0 
回复 2楼 wmf2014
谢谢了,我是菜鸟的
2018-10-04 23:22
pxinfosoft
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2018-9-9
得分:0 
回复 3楼 风吹过b
谢谢了老师
2018-10-04 23:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-490152-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.500082 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved