Кент Рейсдорф. BORLAND C++BUILDER. Раздел 4

Кент Рейсдорф. BORLAND C++BUILDER. Страница 455

Сохранение соединений с базой данных

Если свойство KeepConnection имеет значение true, соединение с базой данных будет сохраняться даже при отсутствии открытых компонентов TDataSet. Это необходимо, если вы не хотите заново выполнять процедуру входа на сервер при следующем обращении к базе данных.

Изменение параметров входа на сервер

Вы можете использовать обработчик события OnLogin компонента TDat- abase, чтобы предотвратить отображение диалогового окна входа при уста­новлении соединения. OnLogin принимает два аргумента: компонент TDat- abase, который указывает на базу данных, в которую пользователь намерен войти, и объект TStrings, в котором хранятся параметры входа. Ниже при­веден заголовок типичного обработчика OnLogin:

void fastcall TForml::DatabaselLogin(TDatabase *Database, TStrings

*LoginParams)

Внутри обработчика вы можете использовать индексируемое свойство Val­ues объекта TString для доступа к отдельным параметрам:

Чтобы диалоговое окно входа не отображалось, необходимо установить по крайней мере параметр PASSWORD. Вы можете взять необходимые пара­метры из диалогового окна при первом входе, получить их от другого ком­понента TDatabase или вставить в текст программы. Если в обработчике OnLogin присутствуют какие-либо параметры, C++Builder попытается ис­пользовать их для установления соединения.

Выполнение транзакций под управлением приложения

Транзакция (transaction) — это операция над базой данных, заключаю­щаяся в изменении каких-либо данных и рассматриваемая как единое целое. Транзакция может состоять как из одной команды на изменение данных, так и из тысячи. Когда вы объединяете серию изменений данных в одну транзакцию, будут выполнены либо все изменения, либо ни одно. Если тран­закция состоит из 1000 изменений и 999-ое было неудачным, все изменения отменяются и база данных остается в исходном состоянии. Обычно C+4-Builder автоматически начинает и завершает транзакцию, когда приложение пыта­ется внести изменения в базу данных. Если этого уровня управления недо­статочно, вы можете сами организовать процесс транзакции, используя свой­ство Translsolation и методы StartTransaction, Commit и Rollback.

Web-дизайн (с) 2010 All rights reserved