Основы web-технологий


           

Программный интерфейс сервера БД зависит


Программный интерфейс сервера БД зависит от реализации. Как правило, производители СУБД поставляют вместе с сервером БД библиотеки, в которых реализован API для доступа к БД. Ниже приведен список наиболее распространенных в настоящее время СУБД (серверов БД):

BDE;

ODBC;

InterBase Server;

Microsoft SQL Server;

MySQL;

mSQL;

PostgreSQL;

SyBase;

Informix;

Oracle.

Программный интерфейс, как правило, включает средства инициализации СУБД, установления связи с БД, передачи запросов БД и разбора ответов от сервера. Рассмотрим подробнее API некоторых серверов БД.

Фирма Inprise поставляет вместе со своей СУБД BDE два программных интерфейса различного уровня. Программный интерфейс низкого уровня (IDAPI) - это библиотека функций для доступа к базам данных в различных форматах. Интерфейс высокого уровня - это библиотека компонентов для сред визуального программирования Delphi и C++Builder, которая использует интерфейс низкого уровня. В табл. 13 приведены основные классы библиотеки компонентов BDE.

























































Таблица 13



Основные классы библиотеки компонентов BDE



Название класса



Описание



TDataModule



Контейнер для хранения остальных компонентов BDE



TDatabase



База данных. Содержит название БД или папку с таблицами БД



TQuery



SQL запрос. Включает содержимое запроса и метод для его отправки серверу



TDataSet



Набор данных. Включает данные, полученные от сервера в качестве ответа



Вместе с сервером MySQL фирмы TcX поставляется библиотека, реализующая API для доступа к БД MySQL. В табл. 14 приведены основные функции этой библиотеки.





































































































































































































Таблица 14



Основные функции библиотеки MySQL



Функция



Описание



MYSQL *mysql_init(

 MYSQL *mysql);



Инициализация структуры MYSQL для последующего подключения к СУБД



MYSQL *mysql_connect(

 MYSQL *mysql,

 const char *host,

 const char *user,

 const char *passwd);



Установка соединения с СУБД без соединения с БД



int mysql_create_db(

 MYSQL *mysql,

 const char *db);



Создание новой БД. Возвращает 0 в случае успешного завершения



int mysql_select_db(

 MYSQL *mysql,

 const char *db);



Установить соединение с БД. Возвращает 0 в случае успешного завершения



Продолжение табл. 14



Функция



Описание



int mysql_query(

 MYSQL *mysql,

 const char *query);



Отправить запрос SQL. Возвращает 0 в случае успешного завершения



int mysql_real_query(

 MYSQL *mysql,

 const char *qyery,

 unsigned int length);



Отправить запрос SQL, содержащий двоичные данные. Возвращает 0 в случае успешного завершения



MYSQL_RES *

mysql_store_result(

 MYSQL *mysql);



Получить результат последнего запроса



unsigned int

mysql_num_fields(

 MYSQL_RES *result);



Количество полей в полученном результате



int mysql_num_rows(

 MYSQL_RES *result);



Количество записей в полученном результате



MYSQL_FIELD *

mysql_fetch_fields(

 MYSQL_RES *result);



Возвращает массив структур MYSQL_FIELD, содержащих поля полученного ответа



MYSQL_ROW

mysql_fetch_row(

 MYSQL_RES *result);



Выбрать текущую запись из набора и переместить указатель на следующую запись



void mysql_data_seek(

 MYSQL_RES *res,

 unsigned int offset);



Перемещение указателя в наборе данных на указанную позицию



my_bool mysql_eof(

 MYSQL_RES *res);



Возвращает ненулевое значение, если указатель набора данных перемещен за последнюю запись в наборе



void mysql_free_result(

 MYSQL_RES *result);



Освобождает память, занятую результатами последнего запроса



Окончание табл. 14



Функция



Описание



int mysql_drop_db(

 MYSQL *mysql,

 const char *db);



Уничтожение БД. Возвращает 0 в случае успешного завершения



unsigned int mysql_errno(

 MYSQL *mysql);



Возвращает номер последней ошибки



char *mysql_error(

 MYSQL *mysql);



Возвращает строку с сообщением о последней ошибке



void mysql_close(

 MYSQL *mysql);



Разрыв соединения с сервером БД

<

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