MySQL & mSQL



              

Два API - часть 3


/* освободить ресурсы, использовавшиеся результирующим набором */

mysql_free_result(result); /* закрыть соединение */

mysql_close(connection);

printf("Koнец, работы.\n");

}

Назначение файлов mysql.h и stdio.h, включаемых директивой ftinclude, должно быть очевидно. Файл заголовков mysql.h содержит прототипы и переменные, необходимые для MySQL, a stdio.h содержит прототип для printf (). Файл заголовков sys/time.h приложением фактически не используется. Он нужен из-за mysql.h, так как файл для MySQL использует определения из sys/time.h, не включая их. Для компиляции программы с помощью компилятора GNU С используйте командную строку:

gcc -L/usr/local/mysql/lib -I/usr/local/mysql/include -о select

select.c\

-Imysql -Insl -Isocket

Разумеется, в этой строке вместо /usr/local/mysql нужно задать тот каталог, в который вы установили MySQL.

Функция main() выполняет те шаги, которые мы перечислили раньше: соединяется с сервером, выбирает базу данных, выдает запрос, обрабатывает его результаты и освобождает использованные ресурсы. По ходу главы мы подробно остановимся на каждом из этих этапов. Сейчас посмотрите на этот код, лишь для того чтобы почувствовать, как он работает. Кроме того, сравните этот пример с той же программой, написанной для mSQL, которая представлена в примере 13-2.*

Пример 13-2. Простое приложение выборки данных для mSQL

#include <sys/time.h>

#include <stdio.h>

#include <msql.h>

int main(char **args) {

int connection, state;

m_result *result;

m_row row;

/* соединиться с базой данных mSOL на athens.imaginary.com */

state = msqlConnect("athens.imaginary.com");

/* проверить ошибки соединения */

if( state == -1 )

{

/* вывести сообщение об ошибке, хранящееся в MsqlErrMsg */

printf(msqlErrMsg);

return 1;

}

else

{

/* описателем соединения является значение, возвращаемое msqlConnect() */

connection = state; }

/* выбрать используемую базу данных */

state = msqlSelectDB(connection, "db_test");




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