#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include "mysql.h"
MYSQL mysql;
MYSQL_RES *res;
MYSQL_ROW row;
void exiterr(int exitcode)
{
fprintf(stderr, "%s\n", mysql_error(&mysql));
exit(exitcode);
}
int main()
{
unsigned int i = 0;
if (!(mysql_connect(&mysql,"host","username","password")))
exiterr(1);
if (mysql_select_db(&mysql,"payroll")) exiterr(2);
if (mysql_query(&mysql,"SELECT name,rate FROM emp_master"))
exiterr(3);
if (!(res = mysql_store_result(&mysql))) exiterr(4);
while((row = mysql_fetch_row(res))) {
for (i=0 ; i < mysql_num_fields(res); i++)
printf("%s\n",row);
}
if (!mysql_eof(res)) exiterr(5);
mysql_free_result(res);
mysql_close(&mysql);
}
Проблема с подключением к MySQL
Помогите разобраться с подключением к MySQL через API.
Я подключаю заголовочный файл mysql.h.
В папке с проектом лежат файлы: mysql.h, mysql_com.h, mysql_version.h, libmysql.lib.
Компилятор выдаёт ошибку: «error C2146: syntax error : missing ';' before identifier 'fd'».
Эта ошибка в файле mysql_com.h в строке: my_socket fd;
Может быть я чего-то недоподключил?
Пробовал на Borland С++: то же самое.
На Delphi получалось, но мне нужно именно на Visual C++.
PS: только, пожалуйста, не нужно отправлять меня в ветку «Базы данных», насколько я понимаю там обсуждаются вопросы по БД, по языку SQL, а не то как подключиться к серверу из Visual C++.
Код:
Компилятор выдаёт следующие сообщения:
1>------ Build started: Project: win32, Configuration: Debug Win32 ------
1>Compiling...
1>win32.cpp
1>c:\documents and settings\сергей\рабочий стол\vp\win32\win32\mysql_com.h(117) : error C2146: syntax error : missing ';' before identifier 'fd'
1>c:\documents and settings\сергей\рабочий стол\vp\win32\win32\mysql_com.h(117) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\documents and settings\сергей\рабочий стол\vp\win32\win32\mysql_com.h(117) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>Build log was saved at "file://c:\Documents and Settings\Сергей\Рабочий стол\VP\win32\win32\Debug\BuildLog.htm"
1>win32 - 3 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Самое интересное, что у меня есть работающий пример подключения к базе данных MySQL, у которого с подключением к БД нет никаких проблем.
А у меня получается, что как только я подключаю mysql.h, компилятор выдаёт указанные выше ошибки.:confused:
Может быть кто-нибудь сможет объяснить мне причину этого явления и способ её устанения???
Цитата: simplemortal
...
Я подключаю заголовочный файл mysql.h.
В папке с проектом лежат файлы: mysql.h, mysql_com.h, mysql_version.h, libmysql.lib.
Я подключаю заголовочный файл mysql.h.
В папке с проектом лежат файлы: mysql.h, mysql_com.h, mysql_version.h, libmysql.lib.
Чем вызвана необходимость помещать эти файлы в папку с проектом? Вот здесь обсуждалось...