Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2010, 14:13   #1
~RANDL~
 
Регистрация: 25.04.2010
Сообщений: 4
По умолчанию C++ и MySQL

Возникла проблема при попытке связать с++ с mysql базой. Нужен пример работы для консольного приложения, может кто делал что то подобное, помогите пожалуйста. (нужно инициализировать базу/создать, добавлять записи)
~RANDL~ вне форума Ответить с цитированием
Старый 25.04.2010, 14:54   #2
~RANDL~
 
Регистрация: 25.04.2010
Сообщений: 4
По умолчанию

Вот один из примеров подключения, которіе я опробовал:
Код:
#include <windows.h>
#include <iostream>
#include <mysql.h>
#pragma comment(lib, "libmysql.lib")

using namespace std;

int main()
{
//connection params
char *host = "localhost";
char *user = "root";
char *pass = "";
char *db = "";

//sock
MYSQL *sock;
sock = mysql_init(0);
if (sock) cout << "sock handle ok!" << endl;
else {
cout << "sock handle failed!" << mysql_error(sock) << endl;
}

//connection
if (mysql_real_connect(sock, host, user, pass, db, 0, NULL, 0))
cout << "connection ok!" << endl;
else {
cout << "connection fail: " << mysql_error(sock) << endl;
}

//connection character set
cout << "connection character set: " << mysql_character_set_name(sock) << endl;
//wait for posibility to check system/mysql sockets
system("PAUSE");

//closing connection
mysql_close(sock);
return EXIT_SUCCESS;
}
Компилятор ругается следующим образом:
Код:
obj\Debug\main.o||In function `main':|
\BaseCreation\123\main.cpp|18|undefined reference to `_mysql_init@4'|
\BaseCreation\123\main.cpp|21|undefined reference to `_mysql_error@4'|
\BaseCreation\123\main.cpp|25|undefined reference to `_mysql_real_connect@32'|
\BaseCreation\123\main.cpp|28|undefined reference to `_mysql_error@4'|
\BaseCreation\123\main.cpp|32|undefined reference to `_mysql_character_set_name@4'|
\BaseCreation\123\main.cpp|37|undefined reference to `_mysql_close@4'|
||=== Build finished: 6 errors, 0 warnings ===|
~RANDL~ вне форума Ответить с цитированием
Старый 25.04.2010, 15:28   #3
~RANDL~
 
Регистрация: 25.04.2010
Сообщений: 4
По умолчанию

Пробую еще вариант, требует файл atlstr.h, в гугле нигде не нашел, может у кого есть в папке "include" (он используется в stdafx.h ) - залейте пожалуйста.
Вариант:
Код:
#include "stdafx.h"
#include "windows.h"
#include "mysql.h"
#include "winbase.h"

MYSQL mysql;
Mysql_res *res;
Mysql_row row;

void die(void){
   printf("%s\n", mysql_error(&mysql));
     exit(0);
}

void main(void){
    unsigned int i = 0;
  if (!mysql_init (&mysql)) abort ();
  if (!(mysql_real_connect(&mysql,"localhost","root","", "kadry", 3306, NULL, 0)))
       die();
  if (mysql_select_db(&mysql,"kadry"))
       die();
  if (mysql_query(&mysql,"select * FROM students"))
       die();
  if (!(res = mysql_store_result(&mysql)))
       die();
  while((row = mysql_fetch_row(res))){
        for (i = 0; i < mysql_num_fields(res); i++)
           printf( "%s\t",row[i]);
        printf ( "\n");
     }
  if (!mysql_eof(res))
   die ();
  mysql_free_result(res);
  mysql_close(&mysql);
}
~RANDL~ вне форума Ответить с цитированием
Старый 25.04.2010, 16:21   #4
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

http://programmersforum.ru/showthread.php?t=59147 писали специально для вас.
MaTBeu вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с MySQL в С++ с использованием библиотеки mysql++ oleg kutkov Visual C++ 5 30.12.2010 16:40
обновление в блоге - Работа с MySQL в С++ с использованием библиотеки mysql++ Pblog Обсуждение статей 0 16.08.2009 16:00
MySQL нужна библ. для Visual C++ (MySql++) Alexoid Visual C++ 8 07.05.2008 18:29