0

我有一个远程数据库 mysql,使用 ADOConnection 连接到应用程序(C++ Builder 6),以及显示数据的 DBGrid(ADOConnection-ADOTable-Dataset-DBGrid)。ADOTable 默认不可编辑;通过单击“编辑”按钮,我写“只读=假”,并编辑数据。

编辑该行后(例如,光标移动到上面的行),我需要提示用户(“保存更改?Y / N”),当您选择“否”时,撤消更改。根据要求没有问题。问题是我应该如何撤消更改(最好仍然在客户端,即 ADOTable 或 DBGrid)?

4

1 回答 1

0

好吧,我自己搞定了。三周的头痛,五行代码。

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 回答