джерелом даних (DataSource) через властивість DataSource стає можливим додавати, скасовувати додавання і зміна, видаляти, зберігати записи в БД
Але щоб розібратися в логіці роботи компонента був розглянутий інший спосіб управління записами БД за допомогою створення окремих обробників подій OnClick, виконуваних, наприклад, при натисканні на відповідні кнопки на формі
Обробник події OnClick, що виконується при натисканні на кнопку В«ДодатиВ» (це ще не збереження запису в базу даних)
with DM do beginzakazchik.State = dsBrowse then begin.Append;. SetFocus;;
end;
Обробник події OnClick, що виконується при натисканні на кнопку В«ЗберегтиВ»
with DM do beginzakazchik.State in [dsInsert, dsEdit] then.Post;;
Буває, що при збереженні інформації в БД виникають помилки, наприклад, обов'язкове поле не заповнене, або БД доступна тільки для читання. Дії щодо виправлення помилок, видачу вікон-коментарів і пр. можна передбачити в обробнику події OnPostError у набору даних, попередньо підключивши модулі Controls і Dialogs. br/>
MessageDlg ('Помилка. Перевірте поля кодзаказчіка і кодцени', mtError, [mbOK], 0);
if MessageDlg ('Скасувати зміни?',
mtConfirmation, [mbYes, mbNo], 0) = mrYeszakazchik.Cancel Form1.DBEdit1.SetFocus;
Обробник події OnClick, що виконується при натисканні на кнопку «³дмінитиВ».
with DM do beginzakazchik.State in [dsInsert, dsEdit] then.Cancel;
end;
Метод Cancel набору даних скасовує внесені зміни, що не збережені поки в БД
Обробник події OnClick, що виконується при натисканні на кнопку В«ВидалитиВ».
with DM do beginzakazchik.State = dsBrowse then
if MessageDlg ('Видалити запис?' + # 10 # 13 +
'При цьому відповідні записи в' +
'підлеглих таблицях засобами СУБД будуть видалені! ',, [MbYes, mbNo], 0) = mrYes then.Delete;
end;
Метод Delete набору даних видаляє обрану запис з БД. Видалення в даному обробнику відбудеться тільки при відповіді В«YesВ» у вікні діалогу. При цьому засобами СУБД можливо каскадне видалення записів у підлеглих таблицях. (Мал. 15)
В
Рис. 15
Для зручності використання бази даних був використаний механізм транзакцій
Транзакція являє собою окрему послідовність операцій, зазвичай виконувану для декількох таблиць БД (декількох наборів даних). Транзакція після свого завершення переводить БД з одного цілісного несуперечливого стану...