Домой л.р.6 - Применение технологии доступа к данным Delphi – IBX при создани приложения для работы с БД.
Команды языка SQL для манипулирования данными


========= Отчет по лаб 6 =================

1)+ Приложение не должно использовать компонент IBTable;

2)+ Приложение должно обеспечивать возможность отображения всех данные из 
отдельных таблиц базы данных с использованием динамического SQL (выбор 
имени таблицы осуществляется пользователем). Использовать для этого только 
один компонент IBQuery;

3)+ Приложение должно обеспечивать возможность синхронного отображения 
данных из нескольких связанных таблиц базы данных;
 -см кнопка "Синхроное отображение Лекарства-Категории-Склад"

4)+ Разработать в приложении для каждой из таблиц отдельные формы, 
используя компоненты отображения для представления значений одного поля. 
(Эти формы будут использоваться для демонстрации реализации операций 
добавления и редактирования данных, хранящихся в таблицах).

5)+ Реализовать на формах, разработанных в п. 4, операции модификации 
данных, используя различные способы: 
 - динамический SQL, --- табл Страны (Countries) 
     - запросы: Delete, Insert, Update
 - компонент UpdateSQL, --- табл Категории лекарств (Kategorii)
 - хранимую на сервере процедуру модификации данных 
    --- табл Лекарства (Lek_List);
 - остальные таблицы (Клиенты - Ap_Users, Склад (Sklad)) доступны 
   только для чтения.

6)+ Реализовать в приложении возможности формирования запроса пользователем, 
его выполнения и сохранения в отдельном файле;

7)+ Продемонстрировать навыки работы с  оператором SQL – Select, используя 
его для сортировки отображаемых данных, выполнения агрегатных функций, 
использование условий отбора данных, выполнения операций реляционной 
алгебры и т. д. 

=============== Заметки ========================

1. Вроде бы для локальной БД логин и пароль остаются от админа, т е 
SYSDBA masterkey.
2. Для подключения IBDatabase1(лаб5) лучше использовать редактор
(дв щелчек по значку IBDatabase1 в модуле данных)
3. Не нашел св-во RequestLive у класса TIBQuery.
4. На форме Категории использую IBUpdateSQL. Вроде бы, все работает,
но в БД не сохраняется. Пришлось добавить:
  DataModule2.IBDatabase1.ApplyUpdates([DataModule2.ibqCountries]);
После этого работает

------- Работа редактора -------------
(см Unit5.pas):
========
  DataModule2.IBUp1.ModifySQL.Clear;
  DataModule2.IBUp1.ModifySQL.Append('update KATEGORII');
  DataModule2.IBUp1.ModifySQL.Append('set KATEGOR = :KATEGOR');
  DataModule2.IBUp1.ModifySQL.Append('where ID_KATEGOR = :OLD_ID_KATEGOR');
===================== Запросы ========
delete from KATEGORII
where
  ID_KATEGOR = :OLD_ID_KATEGOR
-------------
insert into KATEGORII
  (ID_KATEGOR, KATEGOR)
values
  (:ID_KATEGOR, :KATEGOR)
---------------
update KATEGORII
set
  ID_KATEGOR = :ID_KATEGOR,
  KATEGOR = :KATEGOR
where
  ID_KATEGOR = :OLD_ID_KATEGOR
-------------- Refresh: --------
Select 
  ID_KATEGOR,
  KATEGOR
from KATEGORII 
where
  ID_KATEGOR = :ID_KATEGOR
--------------
***************** Установка программы *************
Распаковать архив. Папки lab6 и 
BD_IB_kassa6 (база данных InterBase) вместе с их начинкой
разместить на своем компе (лучше внутри папки Apteka,
где все проекты.). Папка Apteka содержит:
Папки:
BD_IB_kassa6 (БД InterBase алиас kassa6)
BD_kassa (БД алиас kassa4)
BD_kassa5 (БД алиас kassa5)
lab2_1
lab3_1
lab4_1
lab5
lab6
---------
Запустить Apteka6.exe . Выбрать файл KAS6.gdb
(он находится внутри папки BD_IB_kassa6)
-------
Эта БД (алиас kassa6) зарегистрирована
в SQL-Explorer (и это видно в BDE Admin).
Однако, если удалить, проект все равно
работает, так что регистрация вроде бы нужна
только для работы с SQL-Explorer.

Screens

IBX

IBX

IBX

IBX

Rambler's Top100
Hosted by uCoz