Переход назад
Оглавление

Файл DBContainer.h

Библиотека интеграции с базами данных. Подробнее...

См. исходные тексты.

Функции

TDataBaseContainer CreateContainer (AnsiString DataBaseName, AnsiString Params)
 Создает соединение в отдельной транзакции для обращения к базе данных.
TDataBaseStatement GetStatement (TDataBaseContainer Container, AnsiString SQL)
 Создает запрос данных через выборку записей сформированную из SQL запроса.
TDataBaseStatement LookupStatement (TDataBaseContainer Container, AnsiString SQL, AnsiString Caption)
 Создает запрос данных по результату интерактивного выбора пользователя.
bool next (TDataBaseStatement Statement)
 Функция переводит курсор запроса на следующую запись.
int getInt (TDataBaseStatement Statement, AnsiString FieldName)
 Возвращает значение целочисленного поля для текущей записи.
AnsiString getString (TDataBaseStatement Statement, AnsiString FieldName)
 Возвращает значение строкового поля для текущей записи.
double getFloat (TDataBaseStatement Statement, AnsiString FieldName)
 Возвращает значение вещественного поля для текущей записи.
void execute (TDataBaseContainer Container, AnsiString SQL)
 Выполняет запрос на изменение базы данных.


Подробное описание

Библиотека интеграции с базами данных.

В данном модуле находится описание классов TDataBaseContainer, TDataBaseStatement. А также функции системы управления базами данных (СУБД) Interbase, Firebird, и других аналогов. Библиотека также может работать совместно с пакетом BxContainer, который дает более широкий спектр возможностей обработки данных.

Автор:
Сергей Балалаев
Версия:
1.06
Прим.:
В связи с независимостью данной библиотеки с использующей ее системой ее версия может быть более ранней чем версия системы, однако при обратной ситуации (файл описания имеет более позднюю версию чем библиотека) может не допустить загрузки библиотеки.

Функции

TDataBaseContainer CreateContainer ( AnsiString  DataBaseName,
AnsiString  Params 
)

Создает соединение в отдельной транзакции для обращения к базе данных.

Его можно использовать для получения выборки данных, для получения конкретной записи и даже для того чтобы произвети изменение в БД.

Возвращает:
TDataBaseContainer - объект поддерживающий соединение с БД, закрывать его не обязательно, система сама позаботится о завершении соединения.
Аргументы:
DataBaseName AnsiString [in] - имя базы данных или полный путь к ее файлу так же можно здесь задавать относительный путь, начиная с каталога, в котором находится запущенный проект.
Params AnsiString [in] - параметры соединения включающие в себя имя и пароль пользователя БД, а так же может понадобиться информация об используемой кодировке.
Предупреждения:
Курсор возвращаемой выборки установлен на пустую позицию (до первой записи). Для того чтобы перевести его на первую запись воспользуйтесь функцией next .
Прим.:
Пример использования:
AnsiString st = "user_name=MAIN;password=main;lc_ctype=CYRL"; 
  // для русской локали выбрали специального пользователя MAIN
TDataBaseContainer db = CreateContainer("MainDbName", st);
  // соединение создано и хранится в db
См. также:
LookupStatement , GetStatement .

void execute ( TDataBaseContainer  Container,
AnsiString  SQL 
)

Выполняет запрос на изменение базы данных.

Аргументы:
Container TDataBaseContainer [out] - объект поддерживающий соединение с БД.
SQL AnsiString [in] - текст запроса, понятный для используемого СУБД. с помощью него можно менять структуру данных, а также обновлять их содержимое. Здесь не допускаются запросы на выборку.
Прим.:
Пример использования:
...
AnsiString sql = "INSERT INTO station (name) VALUES ('Krapotka')"; 
execute(db, sql);
// В таблицу station была добавлена новая запись, 
//   для которой присвоено название Krapotka.
См. также:
CreateContainer , getInt , getString , getFloat .

double getFloat ( TDataBaseStatement  Statement,
AnsiString  FieldName 
)

Возвращает значение вещественного поля для текущей записи.

Возвращает:
значение вещественного поля FieldName для текущей записи запроса Statement.
Аргументы:
Statement TDataBaseStatement [out] - объект в котором храниться запрос к БД.
FieldName AnsiString [in] - название поля выборки данных.
См. также:
GetStatement , LookupStatement , execute , next , getInt , getString .

int getInt ( TDataBaseStatement  Statement,
AnsiString  FieldName 
)

Возвращает значение целочисленного поля для текущей записи.

Возвращает:
значение целочисленного поля FieldName для текущей записи запроса Statement.
Аргументы:
Statement TDataBaseStatement [out] - объект в котором храниться запрос к БД.
FieldName AnsiString [in] - название поля выборки данных.
См. также:
GetStatement , LookupStatement , execute , next , getString , getFloat .

TDataBaseStatement GetStatement ( TDataBaseContainer  Container,
AnsiString  SQL 
)

Создает запрос данных через выборку записей сформированную из SQL запроса.

Создает запрос данных, через выбор отдельной записи сформированную из SQL запроса.

Возвращает:
TDataBaseStatement - возвращает объект в котором храниться запрос к БД.
Аргументы:
Container TDataBaseContainer [in] - объект поддерживающий соединение с БД.
SQL AnsiString [in] - текст запроса, понятный для используемого СУБД. По нему будет формироваться выборка данных. Здесь допускаются запросы только на выборку, то есть запросы на изменение БД здесь не пройдут.
Предупреждения:
Курсор возвращаемой выборки установлен на пустую позицию (до первой записи). Для того чтобы перевести его на первую запись воспользуйтесь функцией next .
Прим.:
Пример использования:
...
AnsiString sql = "SELECT * FROM station"; 
  // текст запроса заранее подготовили
TDataBaseStatement Statement = GetStatement(db, sql);
  // выборка готова к обработке и хранится в Statement.
См. также:
CreateContainer , LookupStatement , next , execute .

AnsiString getString ( TDataBaseStatement  Statement,
AnsiString  FieldName 
)

Возвращает значение строкового поля для текущей записи.

Возвращает:
значение строкового поля FieldName для текущей записи запроса Statement.
Аргументы:
Statement TDataBaseStatement [out] - объект в котором храниться запрос к БД.
FieldName AnsiString [in] - название поля выборки данных.
См. также:
GetStatement , LookupStatement , execute , next , getInt , getFloat .

TDataBaseStatement LookupStatement ( TDataBaseContainer  Container,
AnsiString  SQL,
AnsiString  Caption 
)

Создает запрос данных по результату интерактивного выбора пользователя.

Создает запрос данных, через выбор отдельной записи в появившимся окошке LookupView, который содержит записи сформированные из SQL запроса.

Возвращает:
TDataBaseStatement - возвращает объект в котором храниться запрос к БД.
Аргументы:
Container TDataBaseContainer [in] - объект поддерживающий соединение с БД.
SQL AnsiString [in] - текст запроса, понятный для используемого СУБД. по нему будет формироваться выборка данных. Здесь допускаются запросы только на выборку, то есть запросы на изменение БД здесь не пройдут.
Caption AnsiString [in] - текст заголовка окна выбора записи LookupView.
Предупреждения:
Курсор возвращаемой выборки установлен на пустую позицию (до первой записи). Для того чтобы перевести его на выбранную запись воспользуйтесь функцией next . Если указанная функция вернет false то это будет означать что пользователь отменил операцию выбора записи.
Прим.:
Пример использования:
AnsiString st = "user_name=MAIN;password=main;lc_ctype=CYRL"; 
  // для русской локали выбрали специального пользователя MAIN
TDataBaseContainer db = CreateContainer("MainDbName", st);
  // соединение создано!
AnsiString sql = "SELECT * FROM station WHERE stationId > 100"; 
  // текст запроса заранее подготовили для таблицы LookupView, 
//сейчас появится диалоговое окно выбора:
TDataBaseStatement Statement = LookupStatement(db, sql, "диалоговое окно выбора");
  // выборка готова к обработке и хранится в Statement.
См. также:
CreateContainer , GetStatement , next , execute .

bool next ( TDataBaseStatement  Statement  ) 

Функция переводит курсор запроса на следующую запись.

Чаще всего используется при переборе записей.

Возвращает:
результат операции: если ей удалось перейти на новую запись, то есть первоначально курсор не стоял на последней записи в запросе, то возвращает TRUE, иначе FALSE.
Аргументы:
Statement TDataBaseStatement [out] - объект в котором храниться запрос к БД.
Предупреждения:
Используйте эту функцию так же для того чтобы понять что возвращаемая выборка не пуста
Прим.:
Пример использования:
...
AnsiString sql = "SELECT * FROM station"; 
  // текст запроса заранее подготовили
TDataBaseStatement Statement = GetStatement(db, sql);
  // выборка готова к обработке и хранится в Statement.
AnsiString s = "";
while (next(Statement)) {  // будет переходить по записям пока не достигнем конца
  s += IntToStr(getInt(Statement, "stationId"));
  s += ";";
} 
  // курсор не встанет на последнюю строчку выборки
// s имеет перечисления всех ключей выборки данных через запятую
См. также:
GetStatement , LookupStatement , execute , getInt , getString , getFloat .

Документация по системе CAAM. © Все права защищены БайтериКС 2005-2015. BYTERIX.COM byterix