VB6检索上一个自动增量ID并再次更新记录

时间:2012-09-11 08:19:18

标签: vb6

我有一段代码将新行插入表中,然后检索SerialNo,使用SerialNo更新ReferenceNo列,然后再次更新数据库。

然而,在第二次更新时,我得到一个错误: 无法找到行进行更新。自上次阅读以来,某些值可能已更改。

代码看起来像这样

DataEnvironment1.rsAddNewMsg.Open

With DataEnvironment1.rsAddNewMsg

.Field1 ="mpla"
.Field2 ="mpla"
....

.Update

.ReferenceNo = "Mpla" + SerialNo

.Update

DataEnvironment1.rsAddNewMsg.Close

第二次更新时发生错误。

2 个答案:

答案 0 :(得分:1)

经过两天的努力,我终于找到了问题。 问题是我在桌面上的一个约束,以便将另一个字段(不相关)默认为'N'。禁用此约束后,我的代码就像一个魅力! :)

youpiiii!

仅仅为了我的记录,为了找到原因我用一个小的新表模拟错误,并在其上有标识。在测试过程中,我注意到更新正在进行。所以更新部分还可以。因此,我将我的普通代码的一部分分开并通过在表上查找属性进行测试,直到找到原因。

非常感谢您的帮助:)

答案 1 :(得分:0)

您可能需要重新打开记录集才能获取更改。您还可以尝试打开动态类型recordset,这可能更好地反映数据的更新。我认为你默认会打开一个仅限前进的记录集。

抱歉,自从我上次使用ADO以来已经有很长一段时间了,所以我有点生气!