
Контр_введ_даних.ppt
- Количество слайдов: 12
Розробник повинен передбачати появу виключень при роботі користувача з БД і вміти їх обробляти. Найбільш розповсюджені виключення: Дублювання ключів; Помилка перевірки БД; Помилковий стан для даної операції.
Для запобігання дублювання ключів слід примусово формувати унікальні ключі шляхом створення лічильника для ключового поля. При порушенні правила валідації виникає виключення, яке слід обробити сформувавши попередження для користувача. Процедуру обробки вміщують на подію On. Validate для відповідного поля таблиці. Якщо розробник не знає, в якому стані знаходиться набір даних в поточний момент, слід використати подію On. State. Change компонента TData. Source для перевірки стану таблиці.
Подія On. State. Change відбувається кожного разу, коли змінюється поточний стан Data. Set. Procedure TForm 1. Data. Source 1. State. Change(Sender: Tobject); Var S: String; Begin Case ADOTable 1. State of ds. Inactive: S: = 'Inactive'; ds. Browse: S: = 'Browse'; ds. Edit: S: = 'Edit'; ds. Insert: S: = 'Insert'; ds. Set. Key: S: = 'Set. Key'; ds. Calc. Fields: S: = 'Calc. Fields'; End; Label 1. Caption: = S; End; Під час виконання програми властивість Label 1. Caption буде приймати поточне значення стану Data. Set.
Контрольоване введення даних - це забезпечення захисту інформації від помилок користувача при введенні даних. Цього можна досягти наступними методами: Використання компонент вибору замість компонент вільного введення даних (використання поля зі списком); Використання вхідних масок; Введення обмежень на рівні бази даних - правил валідації та значень по замовчуванню; Використання методу Cancel.
Заповнення таблиці даними за допомогою поля зі списком. BEdit 1 DBLookup. Combo. Box 1
Для цього в Інспекторі об’єктів задамо властивості компонента DBLookup. Combo. Box 1 : Data. Source – Data. Source 2, List. Source – Data. Source 1, який зв’язаний з таблицею "Тип населеного пункту", Key. Field - Код_типу , Data. Field – Код_типу, List. Field – Тип міста.
Для компонентів DBEdit 1, DBEdit 2, DBEdit 3, DBEdit 4, DBEdit 5 задаємо властивість Data. Source - Data. Source 2, Властивість Data. Field - відповідно ПІБ, Вік, Назва населеного пункту, Дата реєстрації, Стать. Підключаємо DBNavigator 1 та DBGrid 1.
Delphi має редактор Mask Editer для побудови масок. Для того, щоб відкрити діалогове вікно Mask Editer слід подвійно клацнути лівою клавішею маніпулятора миша на властивості Edit. Mask об‘єкта Field (маска повинна бути встановлена для кожного поля, яке її потребує). Mask Editer має список типових масок, а також поля для введення нових масок та їх тестування. Аналогічно для кожного поля можна виставити значення по замовчуванню, використовуючи властивість Default.
Дані, що вводяться, проходять перевірку на відповідність певній умові, якщо умова не виконується, то введення даних слід відмінити і сформувати попереджувальне повідомлення. Наприклад: Заповнити поле з номером “ 4” у таблиці числовими даними , якщо їх значення менше за “ 0”. Помістимо на форму компоненти ADOTable 1, Data. Source 1, Edit 1, Button 1. Організуємо введення даних при натисканні кнопки Button 1. Якщо оператор помилково введе позитивне число, слід сформувати повідомлення і відмінити дію.
Procedure TForm 1. Button 1. Click (Sender: TObject); Begin Table 1. Edit; While not (EOF) do If Strto. Int (Edit 1. text) <0 then Table 1. Fields[4]. As. Int : = strto. Int (Edit 1. text); Table 1. Post Else Begin Application. Message. Box ("Позитивне число", Помилкові дані, MB_OK); Table 1. Cancel; End;
Контр_введ_даних.ppt