|
Программирование >> Создание клиентов mysql
ИСПОЛЬЗОВАНИЕ БИБЛИОТЕКИ ЯЗЫКА С В этой главе... Подготовка программы Извлечение данных Изменение данных Вэтой главе рассказывается о том, как писать программы на языке С, взаимодействующие с сервером MySQL. Собственно программирование на языке С в1хо-дит за рамки данной книги. Предполагается, что читатели имеют опыт написания и компиляции таких программ. Программы для MySQL можно компилировать в большинстве версий UNIX и Windows. Функции библиотеки языка С рассматривались в главе 15 отека функций языка Подготовка программы работе с клиентской библиотекой MySQL необходимо включить в программу файл а затем подключить файл библиотеки на этапе компоновки. Файлы за- головков обычно находятся в каталоге а ны йлы - в каталога /lib/mysql. Для подключения библиотеки укажите в командной строке компилятора ключ -Imysqlclient. Если компилятор не находит файлы заголовков, воспользуйтесь опцией -I, а если не найден файл библиотеки - опцией -L. Ниже показана команда компиляции тестового клиента в системе, где программа MySQL инсталлирована в стандартнте каталоги. дсс usr/local/lib/mysql -Imysqlclient Естественно, в более сложных случаях необходимо создавать В Windows фай toysql. lib представляет собой оболочку динамической библио-текql.dll. Статическая версия библиотеки называетсяlient. lib. Любая клиентская программа, прежде чем подключаться к серверу, должна в первую очередь инициализировать структуру MYSQL, содержащую описание соединения. Это делает функции init (). Она принимает указатель на существующую структуру или самостоятельно выделяет для нее память. По окончании сеанса необходимо освободить память с помощью функции Со структурой MYSQL работают многие функции библиотеки языка С. 376 Глав 16. Использование библиотеки языка С После инициализации сеанса необходимо подключиться к серверу с помощью функции connect (). Все ее аргументы, кроме структуры MYSQL, являются необязательными. На место отсутствующих параметров подставляются значения по умолчанию. Например, в UNIX клиент по умолчанию подключается к узлу localhost через локальные ет. Для регистрации на сервере используется имя текущего пользователя. Перед подключением можно задать различные параметры сеанса с помощью функции mysql options (), а также подготовить программу к шифрованию соединения, вызвав функцию mysql ssl set (). В ходе самого сеанса разрешается выполнять произвольное число запросов. В конце сеанса вызывается функция mysql close (}. В листинге 16.1 показана альная программа, которая не делает ничего полезного, а лишь подключается к серверу, придерживаясь стандартных установок. #include <stdio.h> tinclude <mysql/mysql.h> int main{int argc, char *argv[]) { MYSQL mysql; mysql init(smysql); mysql real connect(Smysql, null, null, null, null, 0, null, 0); Закрытие соединения. /* * * mysql close(Smysql); Извлечение данных Посл ючения к серверу нных можно посылать ему запросы с помощью функций mysql query (), mysql real query () и mysql send query {). Первая из них определяет длину переданной ей строки запроса с помош,ью функции strlen (), поэтому в запрос не могут входить строки, содержащие символы NUL (ASCII-код О). Это ограничение легко обойти. Достаточно вызвать функцию mysql real escape string ), которая защитит все специальные символы от интерпретации. При использовании функций mysql query () и mysql real query () клиент посылает серверу запрос и ждет, пока сервер не вернет его результаты. Если запрос выполняется слишком долго, вызовите функцию которая ** Инициализация соединения.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |