освободить ресурсы, использовавшиеся результирующим набором
/* освободить ресурсы, использовавшиеся результирующим набором */
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");
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий