dポイントプレゼントキャンペーン実施中!

C++,DAO(MFC),MySQLで開発しています。

標記の通りなのですが、更新するレコードセットの値をDBのテーブルと
同じものでUPDATEしようとするとExceptionをスローします。
処理の大まかな流れは以下の通りです。

1. DBオープン (CDaoDatabase Open)
2. テーブルオープン (CDaoRecordset Open)
3. トランザクション開始 (BeginTransaction)
4. レコードセットを移動 (FindFirst 何かしらの条件で)
5. 値を設定 (SetFieldValue)
6. レコード更新 (Update)
7. コミット (CommitTransaction)

5.の時点でDBと同じ値を設定した場合に 6.のステートでExceptionスローします。
(5.でDBと違う値なら最後の処理まで難なく通ります。)

4.の時点で意図しないindexに移動しているわけでもないので、5.での同値か異値かの問題であると思っていますが…

どうすれば回避できるのでしょうか?
ご教授方お願いします。。。。

A 回答 (1件)

MySQLには明るくないですが、Exception には何かしら情報が入っていると思います。

それを見た方が良いでしょう。

>5.での同値か異値かの問題...
それを確かめる為に何かテストすれば良いのでは?
例えば1行目から片っ端に値を変更してみるとか..

以上、レコード追加でなく、Edit による値の変更をされている前提で書きました。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!