Понедельник, 02 Декабря 2024, 15:53

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Как использовать MySQL в C++
lumennesДата: Вторник, 28 Августа 2012, 16:11 | Сообщение # 1
Убийца Diablo
Сейчас нет на сайте
Я пишу сервер на C++ и мне необходимо чтобы он сохранял и доставал данные из базы данных на MySQL.
Как это сделать? Если можно подробнее и с примерами. Заранее спасибо.


Как мало вы знаете, как громко вы судите...
ЙакудДата: Вторник, 28 Августа 2012, 16:17 | Сообщение # 2
участник
Сейчас нет на сайте
Code
#include <my_global.h>
#include <mysql.h>

int main(int argc, char *argv[])
   {
     // Дескриптор соединения
    MYSQL *conn;
     // Получаем дескриптор соединения
    conn = mysql_init(NULL);
     if(conn == NULL)
     {
       // Если дескриптор не получен - выводим сообщение об ошибке
      fprintf(stderr, "Error: can't create MySQL-descriptor\n");
       exit(1);
     }
     // Подключаемся к серверу
    if(!mysql_real_connect(conn,
                           NULL,
                           "root",
                           NULL,
                           NULL,
                           NULL,
                           NULL,
                           0
                           ))
     {
       // Если нет возможности установить соединение с сервером   
      // базы данных выводим сообщение об ошибке
      fprintf(stderr,   
               "Error: can't connect to database %s\n",
               mysql_error(conn));
     }
     else
     {
       // Если соединение успешно установлено выводим фразу - "Success!"
      fprintf(stdout, "Success!\n");
     }   
     // Закрываем соединение с сервером базы данных
    mysql_close(conn);
   }


PS. Гуглится за 30 секунд


"Хороший художник – копирует, гениальный – ворует!" — Pablo Picasso
.blanco 2.0


Сообщение отредактировал Йакуд - Вторник, 28 Августа 2012, 16:18
lumennesДата: Вторник, 28 Августа 2012, 18:54 | Сообщение # 3
Убийца Diablo
Сейчас нет на сайте
При компиляции вылетает ошибка
Code

1>CPP.obj : error LNK2001: неразрешенный внешний символ "_mysql_close@4"
1>CPP.obj : error LNK2001: неразрешенный внешний символ "_mysql_error@4"
1>CPP.obj : error LNK2001: неразрешенный внешний символ "_mysql_real_connect@32"
1>CPP.obj : error LNK2001: неразрешенный внешний символ "_mysql_init@4"
fatal error LNK1120: 4 неразрешенных внешних элементов


может кроме
Code

#include <my_global.h>    
#include <mysql.h>    

нужно еще что-то подключить?

Добавлено (28.08.2012, 17:39)
---------------------------------------------
Ура biggrin Всё получилось!!!
Просто забыл подключить libmysql.lib.

Добавлено (28.08.2012, 18:54)
---------------------------------------------
Не работает. Кто может помгите. Что я делаю не так?


Как мало вы знаете, как громко вы судите...

Сообщение отредактировал lumennes - Вторник, 28 Августа 2012, 21:13
05142Дата: Вторник, 28 Августа 2012, 19:23 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Пришли весь код

mecinvader
lumennesДата: Вторник, 28 Августа 2012, 19:54 | Сообщение # 5
Убийца Diablo
Сейчас нет на сайте
На скрине он весь. я его сейчас немного переписал.

Сейчас, меня интересует как можно вставить переменную C++ между кавычками, чтобы она воспринималась как переменная, а не слово.

допустим есть переменная
Code
char me[] = "admin";


и я выполняю запрос к базе данных
Code
mysql_query(&mysql, "INSERT INTO users (id, login) VALUES (NULL, me)");


как сделать чтобы С++ воспринимал me как переменную в запросе, а не слово 'me'?


Как мало вы знаете, как громко вы судите...
НохчиДата: Вторник, 28 Августа 2012, 19:59 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
Code

char me[] = "admin";
char query[256];

sprintf(query, "INSERT INTO users (id, login) VALUES (NULL, %s)", me);
mysql_query(&mysql, query);


Многие вопросы по Windows отпадут, если посмотреть тут
lumennesДата: Вторник, 28 Августа 2012, 21:12 | Сообщение # 7
Убийца Diablo
Сейчас нет на сайте
Нохчи, спасибо, помог.
Только данный код у меня не работал, пока я не поставил двойные кавычки у переменной
Code
sprintf(query, "INSERT INTO users (id, login) VALUES (NULL, '%s')", me);

Добавлено (28.08.2012, 21:12)
---------------------------------------------
Ура :laugh:, я полностью разобрался с вводом-выводом информации из базы данных MySQL по средствам C++
Всем спасибо, кто помог respect
Теперь я могу сделать авторизацию в клиенте cool


Как мало вы знаете, как громко вы судите...
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг