0

新しい行をテーブルに挿入してから SerialNo を取得し、SerialNo を使用して ReferenceNo 列を更新し、データベースを再度更新するコードがあります。

ただし、2回目の更新で次のエラーが表示されます: 更新する行が見つかりません。最後に読み取られてから一部の値が変更されている可能性があります。

コードは次のようになります

DataEnvironment1.rsAddNewMsg.Open

With DataEnvironment1.rsAddNewMsg

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

.Update

.ReferenceNo = "Mpla" + SerialNo

.Update

DataEnvironment1.rsAddNewMsg.Close

2 回目の更新でエラーが発生します。

4

2 に答える 2

1

このエラーに苦労して2日後、私はついに問題を発見しました。問題は、別のフィールド(無関係)をデフォルトで「N」にするためにテーブルに課せられた制約でした。この制約を無効にした後、私のコードは魅力のように機能しました!:)

youpiiii!

原因を見つけるために私の記録のためだけに、IDを持った小さな新しいテーブルでエラーをシミュレートします。テスト中に、更新がその1つで機能していることに気付きました。したがって、更新部分は問題ありませんでした。したがって、私は通常のコードの一部を取り、それを分離し、原因を見つけるまでテーブルのプロパティを変更してテストしました。

しかし、助けてくれてありがとう:)

于 2012-09-12T07:21:10.027 に答える
0

変更を反映するには、おそらくレコードセットを再度開く必要があります。また、データの更新をより適切に反映する動的タイプのレコードセットを開いてみることもできます。デフォルトでは、前方のみのレコードセットを開くと思います。

すみません、最後に ADO を使用してからかなり時間が経っているので、少し錆びています。

于 2012-09-11T08:35:34.267 に答える