русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Особливості запитів у Paradox


Дата добавления: 2015-07-09; просмотров: 456; Нарушение авторских прав


Клас Tquery має кілька важливих характеристик, що має кожен запит(усі властивості тут тільки для читання).

1)Local=true для локальних БД типу Paradox, Dbase Foxpro; false для локальних БД типу Access і SQL-серверних БД.

2)Числовий ідентифікатор (дескриптор) Handle, який можна використовувати при виклику функцій API BDE.

3)Покажчик на запис StmtHandle типу HDBIStmt, який можна використовувати при виклику функцій API BDE.

4)UniDirectional=true якщо курсор в результаті запиту можна переміщати тільки вперед, false якщо в обох напрямках.

5)Prepared=true якщо запит був оброблений методом Prepare для перевірки синтаксису й оптимізації , false якщо текст запиту мінявся. Спочатку, до першого виклику запиту, також Prepared= false. Якщо текст запиту змінився в процесі виконання програми (запит динамічний), то треба або явно викликати метод Prepare, або установити властивість Prepared у False c допомогою методу UnPrepare і тоді метод Prepare буде викликаний автоматично. Якщо цього не зробити, то виконається той запит, для якого останнім викликався метод Prepare.

6)Text – остаточний текст запиту перед його виконанням.

7)RowsAffected – число записів вилучених чи змінених останнім запитом. Якщо запит закінчився помилкою, то RowsAffected=-1.

Розглянемо докладніше процес виконання запиту. Він проходить

такі стадії:

1)вихідний текст SQL запиту привласнюється властивісті Text

2)Запит відправляється в BDE для перевірки синтаксису й оптимізації(метод Prepare).

3)Запит виконується. Виконання запиту здійснюється методом ExecSQL, крім запиту на вибірку, що здійснюється методом Open.

Розглянемо приклад. Потрібно виконати будь-як запит до деякої таблиці. Довільний текст запиту буде сформований користувачем у memo - редакторі. Перенесемо на форму дві кнопки, компоненти Query і DataSource, DBGrid, DBNavigator для роботи з таблицею і редактор Memo. Тільки для контролю роботи запиту помістимо компоненти Table, DataSource, DBGrid ,DBNavigator, що будуть зв'язані з тією же таблицею. Таким чином, виконання оператора Select буде контролюватися за допомогою компонента Query, інших - за допомогою компонента Table. В оброблювачі події onClick першої кнопки будемо виконувати перевірку запиту за допомогою методу Prepare, для другої виконувати запит. Помітимо, що статичних запитів метод Prepare явно викликати не потрібно, його виклик буде автоматичним. Для динамічних запитів його потрібно викликати.



Query1.Close;

Query1.Clear;

Query1.Sql:=Memo1.Lines;

If Not Query1.Prepared then

Try

Query1.Prepare;

Except

MessageDlg('Помилка в тексті запиту!',mterror,[mbok],0);

End;

Якщо метод Prepare для запиту закінчився невдачею, то помилка перехоплюється і видається повідомлення.

Для другої кнопки:

Try

If Pos(‘SELECT’,Uppercase(Query1.Text))>0 then

Query1.Open

Else

Query1.ExecSql;

Except

MessageDlg('Помилка при виконанні запиту!',mterror,[mbok],0);

End;

У залежності від того, чи є запит вибіркою, чи ні викликається метод Open чи ExecSql.За допомогою приведеного додатка можна виконувати будь-як запити та будь-які оператори SQL.

 



<== предыдущая лекция | следующая лекция ==>
За допомогою мови SQL можна працювати з окремими записами. | Параметричний запит


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.424 сек.