Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с подключением к MySQL

7.8K
21 марта 2007 года
simplemortal
62 / / 09.02.2007
Уважаемые коллеги!
Помогите разобраться с подключением к 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++.
7.8K
21 марта 2007 года
simplemortal
62 / / 09.02.2007
У меня эти ошибки с подключением выдаются даже, если я беру код из документации к MySQL.

Код:
#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);
}


Компилятор выдаёт следующие сообщения:

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:
Может быть кто-нибудь сможет объяснить мне причину этого явления и способ её устанения???
9
22 марта 2007 года
Lerkin
3.0K / / 25.03.2003
Цитата: simplemortal
...
Я подключаю заголовочный файл mysql.h.
В папке с проектом лежат файлы: mysql.h, mysql_com.h, mysql_version.h, libmysql.lib.



Чем вызвана необходимость помещать эти файлы в папку с проектом? Вот здесь обсуждалось...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог