ADOTable отменить обновления в строке перед публикацией

У меня есть удаленная база данных mysql, подключенная к приложению (C ++ Builder 6) с помощью ADOConnection, и DBGrid, в которой отображаются данные (ADOConnection-ADOTable-Dataset-DBGrid).
ADOTable по умолчанию не может быть отредактировано; нажимая на кнопку «Редактировать», я пишу «readonly = false» и редактирую данные.

После редактирования строки (например, курсор переместился на строку выше), мне нужно предложить пользователю («Сохранить изменения? Y / N»), а при выборе «Нет» отменить изменения.
По запросу проблем нет. Вопрос в том, как мне отменить изменения (желательно все еще на клиенте, т.е. ADOTable или DBGrid)?

0

Решение

Хорошо, получил это сам. Три недели головной боли и пять строк кода.

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

Также, если мы нажмем на другое поле и выберем «Нет», курсор не будет двигаться. Но сейчас это не проблема.

0

Другие решения