void_fastcall TFormI::ButtonlClick(TObject *Sender) {
// Проверить, введена ли какая-то строка в Memol if (strcmp(Memol->Lines->Strings[0].c_str(), "") == 0) (
MessageBox(0, "No SQL Statement Entered", "Error", MB_OK) ;
return;
} else
(
// Деактивировать предыдущий запрос, если он имел место Queryl->Close ();
// Очистить свойство SQL от предыдущего запроса Queryl->SQL->Clear () ;
// Присвоить введенный в Memol текст свойству SQL Queryl->SQL->Add(Memol->Lines->Strings[0].c_str()) ;
try
{
Queryl->0pen(); // выполнить команду SQI }
catch(EDBEngineError* dbError) .// обработка ошибок BDE {
for (int i=0; iErrorCount; i++) MessageBox (0, dbError[i].Message.c_str(), "SQL Error", MB_OK) ;
} ) }
Ввод и исполнение команды SQL.
Params позволяет специфицировать имена, типы и начальные значения параметров запроса. C++Builder дает возможность конструировать команду SQL динамического запроса с параметрами. Чтобы указать нужный параметр динамического запроса, используйте символ двоеточия перед именем этого параметра. Например, параметр номера служащего в таблице employee идентифицируется следующей командой SQL: SELECT * FROM employee WHERE EmpNo = :EmpNo.
Увидеть или поменять атрибуты выбранного параметра можно посредством диалогового редактора (Рис. 5.12), который открывается двойным щелчком мышью в графе значений этого свойства. Нажатие кнопки ОК подготавливает SQL сервер к запросу и вызывает попытку его выполнения на стадии проектирования приложения.
Редактор параметров запроса
Свойство Params содержи-. указатель на объект типа TParams. Поэтому изменить значение параметра во время выполнения программы можно по ^ндексу в массиве I terns объекта типа TParams: ;
Queryl->Params->Items[0]->AsInteger = 4;
или по имени параметра, посредством метода ParamByName:
Queryl->ParamFjyName ("FirstName") ->AsString = "John";
Листинг дает законченный пример использования метода ParamByName во время исполнения программы. Параметр имени служащего FirstName идентифицируется следующей командой SQL:
SELECT * FROM EMPLOYEE WHERE FirstName = :FirstName
Заметим, что обработчик события первым делом обращается к методу подготовки запроса Prepare, посылая команду SQL серверу. Сервер выделяет ресурсы и оптимизирует динамический запрос только однажды, до первого исполнения. Все, что необходимо теперь, - это подставлять новые значения параметров и выполнять команду запроса с помощью метода Open.
Do'stlaringiz bilan baham: |