0

ADOConnection を使用してアプリケーション (C++ Builder 6) に接続されたリモート データベース mysql と、データが表示される DBGrid (ADOConnection-ADOTable-Dataset-DBGrid) があります。デフォルトでは ADOTable は編集できません。「編集」ボタンをクリックして、「readonly = false」と書き込み、データを編集します。

行を編集した後 (たとえば、カーソルが上の行に移動した場合)、ユーザーにプロンプ​​トを表示し (「変更を保存しますか? Y / N」)、「いいえ」を選択すると、変更を元に戻す必要があります。ご要望に応じて問題ありません。問題は、変更を元に戻す方法です (できればクライアント、つまり ADOTable または DBGrid)。

4

1 に答える 1

0

わかりました、自分で手に入れました。3 週間の頭痛と 5 行のコード。

if (DataSet->State == dsEdit || DataSet->State == dsInsert){
            int res = MessageBox(Handle, "Save changes?", "Confirm", MB_YESNO);
            if (res == IDNO){
                    DataSet->Cancel();
                    Abort();
            }
    }

また、他のフィールドをクリックして「いいえ」を選択すると、カーソルが移動しません。しかし、それは今のところ問題ではありません。

于 2014-06-05T16:14:46.773 に答える