Энциклопедия C++ Builder


         

в Memol текст свойству SQL


// Присвоить введенный в Memol текст свойству SQL Queryl->SQL->Add(Memol->Lines->Strings[0].c_str()) ;

try

{

Queryl->0pen(); // выполнить команду SQI }

catch(EDBEngineError* dbError) .//

обработка ошибок BDE {

for (int i=0; i<dbError->ErrorCount; i++) MessageBox (0, dbError[i].Message.c_str(), "SQL Error", MB_OK) ;

} ) }

Листинг 5.4. Ввод и исполнение команды SQL.

Params позволяет специфицировать имена, типы и начальные значения параметров запроса. C++Builder дает возможность конструировать команду SQL динамического запроса с параметрами. Чтобы указать нужный параметр динамического запроса, используйте символ двоеточия перед именем этого параметра. Например, параметр номера служащего в таблице employee идентифицируется следующей командой SQL: SELECT * FROM employee WHERE EmpNo = :EmpNo.

Увидеть или поменять атрибуты выбранного параметра можно посредством диалогового редактора (Рис. 5.12), который открывается двойным щелчком мышью в графе значений этого свойства. Нажатие кнопки ОК подготавливает SQL сервер к запросу и вызывает попытку его выполнения на стадии проектирования приложения.



Рис. 5.12. Редактор параметров запроса.

Свойство Params содержи-. указатель на объект типа TParams. Поэтому изменить значение параметра во время выполнения программы можно по ^ндексу в массиве I terns объекта типа TParams: ;

Queryl->Params->Items[0]->AsInteger = 4;

или по имени параметра, посредством метода ParamByName:

Queryl->ParamFjyName ("FirstName") ->AsString = "John";

Листинг 5.5 дает законченный пример использования метода ParamByName во время исполнения программы. Параметр имени служащего FirstName идентифицируется следующей командой SQL:

SELECT * FROM EMPLOYEE WHERE FirstName = :FirstName

Заметим, что обработчик события первым делом обращается к методу подготовки запроса Prepare, посылая команду SQL

серверу. Сервер выделяет ресурсы и оптимизирует динамический запрос только однажды, до первого исполнения. Все, что необходимо теперь, - это подставлять новые значения параметров и выполнять команду запроса с помощью метода Open.


Содержание  Назад  Вперед