Хелпикс

Главная

Контакты

Случайная статья





САМОСТІЙНА РОБОТА №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;



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.