Программирование >>  Создание клиентов mysql 

1 ... 108 109 110 [ 111 ] 112 113 114 ... 201


Клиентские функции 347

mysql field count()

Эта функция определяет количество столбцов, участвовавших в последней операции заданного сеанса:

unsigned ld count (MYSQL *mysql)

Схожие действия выполняет функции fields (), которая в качестве аргумента принимает указатель на конкретную таблицу результатов.

mysql field seek()

Эта функция перемещает внутренний указатель на заданный столбец таблицы результатов:

MYSQL FIELD OFFSET mysql f ield seek ( MYSQL RES *result, MYSQL FIELD OFFSET f ield of f set)

Первый столбец имеет нулевое смещение. Функция возвращает предыдущее значение указателя.

mysql field tell()

Эта функция возвращает значение внутреннего указателя полей: uint mysql field tell(MYSQL RES *res)

mysql free result()

Эта функция освобождает память, занимаемую таблицей результатов запроса: voi sult {MYSQL RES *result)

По окончании работы с набором записей необходимо всегда освобождать память.

mysqljget clientJnfo()

Эта функция определяет версию клиентской библиотеки, с которой ведется работа: char * mysql get client info(void)

Пример использования данной функции был приведен в листинге 15.3.

mysqljget hostJnfo()

Эта функция возвращает строку, описывающую узел, с которым установлено единение:

char * mysql get host infо(MYSQL *mysql)

Пример использования данной функции был приведен в листинге 15.3.



mysqlJnsertJdO

Эта функция возвращает последнее значение поля-счетчика, использовавшееся в указанном сеансе:

my ulonglong mysql insert id(MYSQL *mysql}

To же самое значение возвращается встроенноеункцией LAST I NSERT ID{). Если в последнем запросе не участвовало поле-счетчик, функция inysql insert id () возвращает нуль.

mysqijget protoJnfo()

Эта функция определяет версию приняемого коммуникационного протокола: uint mysql get proto infо(MYSQL *mysql)

Пример использования данной функции был приведен в листинге 15.3.

mysql get serverJnfo()

Эта функция определяет версию программы MySQL, установленной на сервере: char ver inf о (MYSQL *mysql)

Пример использования данной функции был приведен в листинге 15.3.

mysqIJnfoO

Эта функция возвращает строку с описанием записей, измененных в ходе последнего запроса:

cha nf о (MYSQL *mysql)

Непустая строка возвращается лишь в том случае гда в операции вставки (INSERT) или обновления (UPDATE) участвовала более чем одна запись. Например, если с помощью инструкции INSERT INTO в таблицу была добавлена одна запись, функция mysql info () вернет пустую строку. Непустая строка возвращается также в случае выполнения инструкций ALTER TABLE и LOAD DATA INFILE.

mysql init()

Эта функция инициализирует соединение:

MYSQL * mysql init (MYSQL *mysql)

В качестве аргумента можно передать адрес существующей структуры MYSQL или NULL. Во втором случае функция выделит память под новую структуру. Для освобождения выделенной памяти предназначена функция mysql close ().



Клиентские функции 349

mysql kill()

Эта функция уничтожает поток, связанный с базой данных:

int mysql kill (MYSQL *mysql, ulong pid)

Список идентификаторов потоков можно получить с помощью инструкции SHOW PROCESSES или функции processes (). В случае неудачи функция mysqlkilM) возвращает нуль.

mysql list dbs()

Эта функция возвращает набор записей с именами всех баз данных: MYSQL RES dbs (MYSQL *mysql, const char *wild)

Аргумент wild может содержать неполное имя с метасимволами ( %), что позволяет фильтровать результаты. Аналогичные действия выполняет инструкция SHOW DATABASES. He забывайте, что полученный набор записей необходимо удалить с помощью функции ql free result ().

В листинге 159 выводится список баз данных, доступных пользователю root.

#include <string.h> ♦include <mysql/mysql.h>

in t argc, char *argv[]) {

Ж801 mysql; MYSQL RES *result; MYSQL ROW row; MYSQL FIELD *field; unsigned long *lengths;

mysql init(Smysql);

mysql real connect(smysql, localhost , root ,

Wsql , 0, NULL, 0); result = mysql list dbs(smysql, NULL);

Просмотр результатов.

while(row = mysql fetch row(result)

lengths = mysql fetch lengths(result); printf{ %.*s\n , (int) lengths[0], row[0]);

mysql free result(result); mysql close(smysql);





1 ... 108 109 110 [ 111 ] 112 113 114 ... 201

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика