| ||
Функции | |
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, который дает более широкий спектр возможностей обработки данных.
TDataBaseContainer CreateContainer | ( | AnsiString | DataBaseName, | |
AnsiString | Params | |||
) |
Создает соединение в отдельной транзакции для обращения к базе данных.
Его можно использовать для получения выборки данных, для получения конкретной записи и даже для того чтобы произвети изменение в БД.
DataBaseName | AnsiString [in] - имя базы данных или полный путь к ее файлу так же можно здесь задавать относительный путь, начиная с каталога, в котором находится запущенный проект. | |
Params | AnsiString [in] - параметры соединения включающие в себя имя и пароль пользователя БД, а так же может понадобиться информация об используемой кодировке. |
AnsiString st = "user_name=MAIN;password=main;lc_ctype=CYRL"; // для русской локали выбрали специального пользователя MAIN TDataBaseContainer db = CreateContainer("MainDbName", st); // соединение создано и хранится в db
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.
double getFloat | ( | TDataBaseStatement | Statement, | |
AnsiString | FieldName | |||
) |
Возвращает значение вещественного поля для текущей записи.
Statement | TDataBaseStatement [out] - объект в котором храниться запрос к БД. | |
FieldName | AnsiString [in] - название поля выборки данных. |
int getInt | ( | TDataBaseStatement | Statement, | |
AnsiString | FieldName | |||
) |
Возвращает значение целочисленного поля для текущей записи.
Statement | TDataBaseStatement [out] - объект в котором храниться запрос к БД. | |
FieldName | AnsiString [in] - название поля выборки данных. |
TDataBaseStatement GetStatement | ( | TDataBaseContainer | Container, | |
AnsiString | SQL | |||
) |
Создает запрос данных через выборку записей сформированную из SQL запроса.
Создает запрос данных, через выбор отдельной записи сформированную из SQL запроса.
Container | TDataBaseContainer [in] - объект поддерживающий соединение с БД. | |
SQL | AnsiString [in] - текст запроса, понятный для используемого СУБД. По нему будет формироваться выборка данных. Здесь допускаются запросы только на выборку, то есть запросы на изменение БД здесь не пройдут. |
... AnsiString sql = "SELECT * FROM station"; // текст запроса заранее подготовили TDataBaseStatement Statement = GetStatement(db, sql); // выборка готова к обработке и хранится в Statement.
AnsiString getString | ( | TDataBaseStatement | Statement, | |
AnsiString | FieldName | |||
) |
Возвращает значение строкового поля для текущей записи.
Statement | TDataBaseStatement [out] - объект в котором храниться запрос к БД. | |
FieldName | AnsiString [in] - название поля выборки данных. |
TDataBaseStatement LookupStatement | ( | TDataBaseContainer | Container, | |
AnsiString | SQL, | |||
AnsiString | Caption | |||
) |
Создает запрос данных по результату интерактивного выбора пользователя.
Создает запрос данных, через выбор отдельной записи в появившимся окошке LookupView, который содержит записи сформированные из SQL запроса.
Container | TDataBaseContainer [in] - объект поддерживающий соединение с БД. | |
SQL | AnsiString [in] - текст запроса, понятный для используемого СУБД. по нему будет формироваться выборка данных. Здесь допускаются запросы только на выборку, то есть запросы на изменение БД здесь не пройдут. | |
Caption | AnsiString [in] - текст заголовка окна выбора записи LookupView. |
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.
bool next | ( | TDataBaseStatement | Statement | ) |
Функция переводит курсор запроса на следующую запись.
Чаще всего используется при переборе записей.
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 имеет перечисления всех ключей выборки данных через запятую