我注意到,即使没有添加新记录,当我开始运行下面的程序时,数据库表中的记录数(从日期表中选择引用)会突然增加。请注意,我通过在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
答案 0 :(得分:0)
有点困惑,但如果你指的是" intReadCount"根据您在表中有多少行,它看起来好像您没有正确清除此值。在程序开始时,您需要设置" intReadCount"在开始之前回到0,你应该得到恒定的结果。
更新:见下面的评论