посередньо для підключення бази даних), ADOTable і DateSource (для роботи з таблицями бази даних), ADOQuery (для виполненіяSQL запиту в додатку). В якості запиту використовувався статистичний запит - текст запиту повністю формується на етапі розробки програми.
. 3 Тестування програми
Для початку покажемо нормальну роботу програми. Перед запуском програми на деякий час з'являється заставка наступного виду (малюнок 12):
Рисунок 12 - Заставка програми
Далі відкривається головне вікно програми (малюнок 13):
Малюнок 13 - Головне вікно програми
Використовую панель меню можна переглянути різні таблиці бази даних (малюнок 14):
Малюнок 14 - Пункт меню Таблиці
Подвійним натисканням миші по комірці бази даних або викликом з меню команди Редагувати (Файл - gt; Редагувати) відкривається вікно редагування бази з можливостями зміни, збереження, видалення записів бази даних, а також створення нового запису (малюнок 15):
Малюнок 16 - Форма редагування вмісту бази даних
Тепер перевіримо роботу нашого запиту у додатку. Для сортування за видами спорту у вікно вводу необхідно ввести потрібний вид спорту враховуючи регістр і натиснути кнопку Виконати запит (малюнок 17):
Малюнок 17 - Виконання запиту
Результат роботи можна порівняти з результатом роботи запиту, сформованого в MS SQL SERVER 2 008 (рис. 11).
Якщо користувач спробує ввести якісь інші дані, то з'явиться повідомлення про помилку наступного виду (малюнок 18):
Малюнок 18 - Повідомлення про помилку
Література
ГОСТ 2.105 - 95. ЕСКД. «Загальні вимоги до текстових документів»
В. Фаронов - Програмування баз даних в Delphi 7. Навчальний курс, Пітер 2006
А. Зубов - Програмування на DELPHI. Трюки і ефекти, Пітер
Методичні вказівки до курсової роботи з курсу СУБД, Калінкіна Т. И.
ДОДАТОК
SUBD ;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ,, Grids, DBGrids, StdCtrls, ExtCtrls, DB, ADODB, Menus;=class (TForm) Panel2: TPanel ;: TDBGrid ;: TPanel ;: TDBGrid ;: TMainMenu ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TPanel ;: TEdit ;: TButton ;: TLabel ;: TLabel ;: TLabel;:TMenuItem ;: TLabel ;: TMenuItem ;: TMenuItem ;: TMenuItem ;: TMenuItem; N2Click (Sender: TObject); N8Click (Sender: TObject); N9Click (Sender: TObject); N6Click (Sender: TObject); Button1Click (Sender: TObject); N4Click (Sender: TObject); N7Click (Sender: TObject); N10Click (Sender: TObject); N11Click (Sender: TObject); N12Click (Sender: TObject); DBGrid1DblClick (Sender: TObject);
{Private declarations}
{Public declarations} ;: TForm1; DM, Editor;
{$ R * .dfm} TForm1.N2Click (Sender: TObject) ;;; TForm1.N8Click (Sender: TObject) ;. DataSource:=fDM.DSSportsmen ;; TForm1.N9Click (Sender: TObject) ;. DataSource:=fDM.DSCount ;; TForm1.N4Click (Sender: TObject) ;. DataSource:=fDM.DSSports ;; TForm1.N7Click (Sender: TObject) ;. DataSource:=fDM.DSSM ;; TForm1. N10Click (Sender: TObject) ;. DataSource:=fDM.DSParticipation ;; TForm1.N6Click (Sender: TObject); R: Word;:=MessageDLG ( Курсовий проект з дисциплинеraquo;+#13#10#13#10+laquo;СУБДraquo;+#13#10#13#10+laquo;Разработчик Старкова І.А. + # 13 # 10 # 13 # 10 + Рязань 2014 , mtInformation, [mbOK], 0) ;; TForm1.Button1Click (Sender: TObject); R: Word; s1: string; i: integer; p: boolean; .TSports.First;:=false; i:=1 to fDM.TSports.RecordCount do:=fDM.TSports.FieldByName ( Вид спорту ). asString; Edit1.Text=s1:=true;.ADOQuery2.Close; .ADOQuery2.Parameters.ParamByName ( name ). Value:=Edit1.Text; .ADOQuery2.Open; .TSports.Next ;; p=false then R:=MessageDLG ( Такий вид спорту не зареєстрований , mtError, [mbYes], 0) ;; TForm1.N11Click (Sender: TObject);.TSportsmen.Append;.TSports.Append;.TSM.Append;.TParticipation.Append;.TCount.Append;.ShowModal;;TForm1.N12Click(Sender: TObject) ;. ShowModal ;; TForm1.DBGrid1DblClick (Sender: TObject) ;. ShowModal ;;. DM ;, Classes, DB, ADODB;=class (TDataModule): TADOConnection ;: TDataSource ;: TDataSource ;: TDataSource ;: TDataSource;:TADOQuery ;: TADOTable ;: TADOTable ;: TDataSource ;: TDataSource ;: TADOTable ;: TADOTable ;: TADOTable; _Sportsmen: TIntegerField ;: TWideStringField; _Sport: TIntegerField; _Sportsmen: TIntegerField ;: TFloatField; _Sport: TIntegerField ;: TWideStringField; _...