VB6记录集和SQL计数

时间:2012-01-06 12:54:22

标签: vb6

我注意到,即使没有添加新记录,当我开始运行下面的程序时,数据库表中的记录数(从日期表中选择引用)会突然增加。请注意,我通过在SQL Studio管理器中运行查询来确定行数增加,即从日期表中选择引用。程序停止时;记录数量回落到原始水平。这是代码。为什么会这样?虽然Reference是唯一的,但表中没有主键。

rs.Open "select reference,value1,datefield from datetable where field1 = 'value1' " & _     
                "order by reference", objAuditCon.ActiveCon, adOpenStatic, adLockPessimistic  
Do While Not rs.EOF
     intReadCount = intReadCount + 1
     DoEvents
     If Not IsNull(rs("value1")) Then
         testArray = Split(rs("value1"), ",") 
        rs2.Open "SELECT Date FROM TBL_TestTable WHERE Record_URN = '" & testArray(1) & "'", objSystemCon.ActiveCon, adOpenStatic, adLockReadOnly
         If rs2.EOF Then
          End If
         If Not rs2.EOF Then
             rs("DateField") = Format$(rs2("Date"), "dd mmm yy h:mm:ss")
             rs.Update
             intWriteCount = intWriteCount + 1
         End If
     rs2.Close
     Else
         End If
  rs.MoveNext
 Loop
 rs.Close 

1 个答案:

答案 0 :(得分:0)

有点困惑,但如果你指的是" intReadCount"根据您在表中有多少行,它看起来好像您没有正确清除此值。在程序开始时,您需要设置" intReadCount"在开始之前回到0,你应该得到恒定的结果。

更新:见下面的评论