|
|||
САМОСТІЙНА РОБОТА №18 (БД). Тема : Статичний і динамічний запити.САМОСТІЙНА РОБОТА №18 (БД) Тема: Статичний і динамічний запити.
Мова SQL не володіє функціями повноцінної мови розробки і орієнтована на доступ до БД. Використання мови SQL може бути самостійним, і вона може включатися в склад засобів розробки програм. В цьому випадку її називають вбудованим SQL. Розрізняють два головних методи використання вбудованого SQL: статичний і динамічний. Статичне використання передбачає застосування в програмі функцій викликів мови SQL, які включаються в програмний модуль і виконуються після компіляції програми. Динамічне використання передбачає динамічну побудову викликів функцій мови SQL та інтерпретацію цих викликів у ході виконання програми. Динамічний метод застосовується тоді, коли вид SQL запиту заздалегідь невідомий і будується у діалозі з користувачем. Статические SQL-запросы формируются при разработке приложения и не изменяются при выполнении приложения. В запросах можно использовать параметры, имена которых начинаются c двоеточия. Все параметры запроса сохраняются в его свойстве ‑ массиве Params. Для обращения к параметру во время выполнения программы указывается в квадратных скобках его номер (отсчет от нуля) в массиве Params. Тип параметра задается его свойством DataType, значение ‑ Value. Пример параметрического запроса Query1 с командой Select вида: Select * From Stroiki Where Kz=: Pkz //код заказчика задается параметром Pkz Procedure TForm1. Button1Click(Sender: TObject); //вывод запроса Begin Query1. Close; //закрытие запроса Query1. Params[0]. Value: =’2′; //значение параметра Pkz=2 //Query1. ParamByName(‘pkz’). asInteger: =2; //другой вариант Pkz=2 Query1. Open; {вывод запроса} End; Динамические SQL-запросы формируются или изменяются в процессе выполнения приложения (изменяется свойство SQL). Пример. Разместим на форме компоненты: Query (со свойствами: DataBaseName=Stroiki, DataSource=Datamodule2. SourceStroiki), DataSource (DataSet=Query1), DBGrid (DataSource=DadaSource1, Visible=False) и кнопку Button с процедурой формирования динамического запроса: Procedure TForm1. Button1Click(Sender: TObject); //формирование запроса Begin Query1. close {закрытие запроса); Query1. SQL. Clear; {очистка текста} Query1. SQL. Add(‘Select ns As Cтройка, ss As Смета, fs As Факт, ’+ ‘ ss-fs As Осталось From Stroiki. db’); //добавление строки с командой Select DBGrid1. Visible: =True; Query1. Open; {вывод запроса в таблицу} End;
|
|||
|