Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Builder 2курс.doc
Скачиваний:
6
Добавлен:
16.11.2019
Размер:
1.26 Mб
Скачать

6. 8. Контрольные вопросы

1. Для чего создается псевдоним БД и в каких утилитах можно создать псевдоним БД?

2. Какие типы полей используются в Paradox? Как установить вторичный индекс?

3. С помощью каких компонент отобразить на форме данные из таблицы БД и какие свойства при этом используются?

4. С помощью каких функций производится поиск нужных записей?

5. Как установить фильтр?

7. Лабораторная работа №6 Тема: Программирование объекта tQuery

7. 1. Краткие теоретические сведения

C++Builder поставляется в комплекте с двумя SQL-ядрами баз данных, одно из которых встроено в BDE для работы с Paradox и  dBase, а другое встроено в InterBase [1].

Свойство SQL компонента TQuery  имеет  тип TString. При программном обращении к объекту TQuery сначала необходимо завершить текущий запрос и удалить все  строки, содержащиеся в свойстве SQL:

Query1->Close();

Query1->SQL->Clear(0;

Далее следует добавить новые строки, которые нужно выполнить:

Query1->SQL->Add(“Select * from Customer”);

Query1->SQL->Add(“where  ...  =’1111’  “);

С помощью оператора Add в SQL-запрос можно включить от одной до Х строк, причем Х ограничен только объемом памяти компьютера. Чтобы среда C++Builder обработала оператор  и вернула указатель, содержащий результат запроса, нужно выполнить следующую команду:

Query1 ->Open();

Команда Open применяется в том случае, если хотите прочитать информацию из таблицы. Если нет необходимости возвращать какие-либо данные, необходимо использовать оператор ExecSQL, а не Open.   Одно из свойств SQL –это возможность считывать текстовые файлы, содержащие SQL –операторы, непосредственно с жесткого диска.  Функция LoadFromFile  позволяет с помощью одной команды загрузить весь текстовый файл в процессе выполнения программы.

C++Builder позволяет сформировать параметрический запрос. В параметрическом запросе подставляются переменные вместо отдельных слов в конструкции where или insert SQL-оператора.

Например,  один из ранее рассмотренных запросов:

Select * from Country where Name like ‘C%’;

Для преобразования этого запроса в параметрический достаточно заменить правую часть конструкции like переменной, например, с именем  NameStr:

Select * from Country where Name like : NameStr;

Существуют два способа присвоения значений параметрическим SQL –операторам. Первый способ состоит в применении свойства Params объекта TQuery. Второй способ заключается в использовании свойства DataSource.  Основные свойства, используемые при решении этой задачи:

__property TParams  *Params;

TParam  *__fastcall  ParamByName(const System::AnsiString Value);

void __fastcall  Prepare(void);

Объекты TParam   и  TParams  содержатся в файле DBTABLES.HPP. Для подстановки связанных переменных в параметрический запрос через свойство Params обычно необходимо выполнить следующие действия:

· Убедиться в том, что таблица закрыта;

· Подготовить объект Query, выполнив команду Prepare .

· Присвоить правильные значения свойству Params.

· Открыть запрос.

· Большинство SQL-серверов слабо поддерживает параметрические переменные, в этом случае используется функцая Format.  Принцип действия  VCL-функции Format  во многом аналогичен принципу действия оператора sprintf. Эта функция позволяет выполнять подстановку переменных почти любого типа вместо определенных слов строки.