WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Автор: Roland Haenel (rh@ginster.net). Эта программа является public
domain. Распространять и использовать ее можно совершенно свободно.
Это маленькая оболочка для C++, которая написана вокруг базисной
клиентской библиотеки mysql. Целью было создание единого универсального
интерфейса для следующих баз данных:
Но потому, что mysql намного лучше прочих, контекст этой реализации
немного изменился. Теперь стало нужно обеспечить удобный в работе и
безопасный интерфейс доступа к mysql.
Программа примера может быть найдена в example.cc. Некоторые слова
относительно классов библиотеки:
Класс Database обеспечивает интерфейс связи с базой данных mysqld.
Следующие методы выполнены:
3.9 Библиотека-оболочка mysql для C++
Фактически это не делает ничего в настоящее время, но вызовите его перед
выполнением чего-нибудь еще. Это может быть важно для будущих выпусков.
Может быть вызван в любое время. Возвращает состояние подключения:
DB_CONNECTION_NONE, DB_CONNECTION_OK или
DB_CONNECTION_BAD.
Если произошла ошибка, возвращает текст, описывающий ошибку
Соединяется с базой данных db на машине host. Обратите
внимание, что параметр port в настоящее время еще не задействован.
Закрывает текущее подключение.
Пока не реализовано.
void Database::exec(DBResult *res, char *sqlFormat, ...);
Выполнить произвольную команду SQL. Первая форма возвращает экземпляр класса
DBResult (даже если имелся сбой). Последняя форма повторно
использует уже созданный экземпляр класса DBResult.
Возвращает состояние транзакции, связанное с экземпляром класса. Значения
могут быть следующими:
#define DB_COMMAND_OK 0 // OK: команда выполнена
#define DB_EMPTY_QUERY 1 // Запрос не вернул данных
#define DB_TUPLES_OK 2 // Запрос вернул данные
#define DB_ERROR 5 // Ошибка в команде
#define DB_BAD_RESPONSE 6 // Неправильный ответ сервера
#define DB_UNEXPECTED 7 // Непонятная ошибка
Возвращает число выбранных записей (если status() == DB_TUPLES_OK).
Возвращает число полей в записи (если status() == DB_TUPLES_OK).
Возвращает имя поля n.
Возвращает размер в байтах поля с номером n.
Возвращает размер в байтах поля с именем name.
Устанавливает внутренний курсор на запись tuple. Она будет возвращена
следующим вызовом getTuple().
Возвращает одну запись. Вызов getTuple()[0] вернет
значение первого поля и т.д.
Прямой доступ к записи. Для последовательного доступа, пожалуйста, не
используйте этот метод. Применяйте вместо него сочетание
seekTuple()/getTuple().
Найди своих коллег! |