| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
大量收QQ微信精准粉/交友粉,非诚勿扰千里之行 始于足下
共有 171 人关注过本帖
标题:向高手求教,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条以上的数据都丢失了
附有源码,您可以在领用中看一下,谢谢了!
附件: 您没有浏览附件的权限,请 登录注册
2018-10-04 00:49
wmf2014
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:153
帖 子:1706
专家分:9520
注 册: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
等 级:版主
威 望:224
帖 子:4280
专家分:26116
注 册: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







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

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