Сообщение об ошибке

Deprecated function: The each() function is deprecated. This message will be suppressed on further calls в функции menu_set_active_trail() (строка 2405 в файле /home/kpaco123/e-helper/includes/menu.inc).

Практичне завдання №2 Семестр 1

 

Практичне завдання №2

 

Створення бази даних за допомогою графічної утиліти MySql-Front.

 

         В даній лабораторній роботі ми будемо створювати БД для подальшого її використанні при написанні програмного додатку на Delphi.

         Для полегшення процесу будемо використовувати графічну утиліту MySql-Front.

 

         Будемо створювати Бд для якоїсь неіснуючої бібліотеки, тобто нам будуть потрібні таблиці для зберігання книг, персоналу, відділів. Але про все по-порядку:

  1. Таблиця «Personal» мусить мати поля: (таблиця для обліку персоналу)
    • Id: INT(11) AUTO_INCREMENT, PRIMARY KEY, NOT NULL. (індекс таблиці)
    • Name: VARCHAR (32), NOT NULL; (ФІП співробітника)
    • come: DATE, NOT NULL; (дата приходу на роботу)
    • viddil: INT(5) (відділ де працює)
  2. Таблиця «Users» мусить мати поля: (таблиця обліку клієнтів)
    • Id: INT(11) AUTO_INCREMENT, PRIMARY KEY, NOT NULL. (індекс таблиці)
    • Name: VARCHAR (32), NOT NULL; (ФІП читача)
    • reg: DATE, NOT NULL; (дата першого відвідування)
  3. Таблиця «Books» мусить мати поля: (таблиця обліку книжок)
  • Aughtor: VARCHAR(32), NOT NULL (Автор книги)
  • Name: VARCHAR(32), NOT NULL (Назва книги)
  • Data: DATE, NOT NULL (Дата виходу книги)
    1. Таблиця «InUse» мусить мати поля: (таблиця обліку виданих книжок)
  • Id: INT(11) AUTO_INCREMENT, PRIMARY KEY, NOT NULL. (індекс таблиці)
  • IdBook: INT(11), NOT NULL (ідентифікатор книги)
  • IdUser: INT(11), NOT NULL (ідентифікатор кому видана книга)
  • IdPersonal: INT (11), NOT NULL (ідентифікатор хто видав книгу)
  • Get: DATETIME (коли було видано книжку)
    1. Таблиця «Viddilu» мусить мати поля: (таблиця наявних відділів)
      • Id: INT(11) AUTO_INCREMENT, PRIMARY KEY, NOT NULL. (індекс таблиці)
      • Name: VARCHAR(32), NOT NULL (назва відділу)

         Після створення БД додати 5-10 записів до кожної таблиці. Окрім таблиці «InUse».

         Після додання даних створити програмний модуль на мові Delphi, який при запуску буде відбражати вміст будь-якої таблиці.

 

                Витяг з 4-ї лекції:

         Delphi в нашому випадку використовується як середовище із візуальними компонентами для доступу до MySQL, безпосередньо запитів та відображення їх результатів.

 

Для доступу нам потрiбні такі компоненти:

  1. DataSource, вкладки Data Acces.
  2. DBGrid, вкладки Data Controls.
  3. Query, Database вкладки BDE.

 

     Створимо форму та додамо до неї усі ці компоненти.

     Для того щоб відобразити данні достатньо:

  • Database1.AliasName:='MyDB3';
  • Database1.DatabaseName:='linx';
  • Database1.Connected:=True;
  • DataSource1.DataSet:=Query1;
  • Query1.DatabaseName:='linx';
  • Query1.SQL.Items.Add('SELECT * FROM new_table;');
  • Query1.Active:=True;
  • DBGrid1.DataSource:=DataSource1;

В процесі змін властивостей об’єктів програма виведе запит на введення ім’я та пароля користувача, доступ буде здійснений від його імені.

Після цього в таблиці відобразиться увесь вміст таблиці new_table.

Якщо відбувається добавлення данних в таблию то рядка Query1.Active:=True; не потрібно, а також
Query1.SQL.Items.Add('SELECT * FROM new_table;'); міняємо на Query1.SQL.Items.Add('INSERT INTO new_table VALUES (null,'Запись')');

Добавлення має відбуватись процедурою Query1.ExecSQL, наприклад:

Procedure TForm1.Button1Click(Sender: Tobject);

  Query1.ExecSQL;

end;

Таким чином при натисканні на кнопку до нашої таблиці добавиться новий рядок.