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


         

ВИЗУАЛЬНАЯ РАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ - часть 18


десятичные эквиваленты

// Присвоить

fmts зарплату, введенную пользователем

strcpy(fmts, SalaryEdit->Text.c_str());

mins = atoi(fmts);

// Деактивировать предыдущий запрос и очистить SQL

Queryl->Close О

;

Queryl->SQL->Clear () ;

sprintf(sqls, "SELECT * FROM EMPLOYEE WHERE Salary<%s", fmts);

// Присвоить сформированную команду SELECT свойству SQL

Queryl->SQL->Add(sqls) ;

try

{

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

} catch(EDBEngineError* dbError) //

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

{

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

}

// Присвоить

fmts надбавку [в %], введенную пользователем

strcpy(fmts, AddEdit->Text.c_str());

adds = atoi(fmts);

// Деактивировать предыдущий запрос и очистить SQL Queryl->Close () ;

Queryl->SQL->Clear() ;

// Присвоить команду UPDATE свойству SQL Queryl->SQL->Add("UPDATE EMPLOYEE set Salary =

(Salary+((Salary*:adds))/100) WHERE (Salary < :mins)");

Queryl->ParamByName("mins")->AsInteger = mins;

Queryl->ParamByName("adds")->AsInteger = adds;

try

{ Queryl->ExecSQL(); //

выполнить команду UPDATE

}

catch(EDBEngineError* dbError) //

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

{

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

) // Деактивировать предыдущий запрос и очистить SQL

Queryl->Close ();

Queryl->SQL->Clear();

// Восстановить команду SELECT Queryl->SQL->Add(sqls) ;

try

{

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

catch(EDBEngineError* dbError) //

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

for (int i=0; i<dbError->ErrorCount; i++)

MessageBox(0, dbError[i].Message.c_str(), "SQL Error", MB_OK) ;

} }

Листинг 5.8. Использование метода

ExecSQL с командой UPDATE.

Рис. 5.16 показывает пример работы приложения, вызывающего повышение заданной параметром mins минимальной зарплаты на величину процентной надбавки, определяемой параметром adds. Приложение представляет пользователю список служащих, зарплата которых осталась меньше установленного минимума. Сравните последний столбец таблицы с оригинальными значениями (Рис. 5.15).




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