Ru-MaNGOS

Вернуться   Ru-MaNGOS > Документация > Языки программирования

Важная информация

Языки программирования Изучаем С++, Sql, php, Lua, Python

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.05.2010, 18:40   #1
Hantet
Ученый
 
Аватар для Hantet
 
Регистрация: 07.03.2010
Адрес: Санкт-Петербург
Сообщений: 163
Сказал(а) спасибо: 124
Поблагодарили 111 раз(а) в 52 сообщениях
Hantet Скоро придёт к известностиHantet Скоро придёт к известности
Отправить сообщение для Hantet с помощью ICQ
Сообщение Работа с MySQL через c++

Весь день сижу перед монитором, пытаюсь подключиться к MySQL через c++. Файлы заголовков MySQL дистрибутива скопировал в проект, подключил (ошибок не выдаёт по этому поводу).

Воспользовался чьим-то кодом (на каком-то форуме человек нашёл решение и код якобы рабочий). Собственно я хочу всего-лишь вывести построчно логины аккаунтов с гмлвл > 0.

Во многих (опробованных мною) простейших реализациях подключения c++ к MySQL вылетает очень противная ошибка:


Я использую:
Microsoft Windows XP Professional SP3
Microsoft Visual Studio 2008 Professional Edition (rus).
MySQL 5.1.39-community

Собственно, код:
Код:
#include <stdafx.h>
#include <Winsock2.h>
#include <mstcpip.h>
#include <mysql.h>
#include <errmsg.h>

MYSQL mysql; 
MYSQL_RES *res; 
MYSQL_ROW row;

void exiterr(int err) 
{
	fprintf(stderr, "%s\n", mysql_error(&mysql));
	exit(err);
}

void main() 
{
	if(!(mysql_real_connect(&mysql,"localhost","mangos","mangos","realmd",3306,NULL,NULL))) 
		exiterr(1);
	if(mysql_select_db(&mysql,"realmd"))
		exiterr(2); 
	if(mysql_query(&mysql,"SELECT username FROM account WHERE gmlevel > 0")) 
		exiterr(3); 
	if(!(res = mysql_store_result(&mysql)))
		exiterr(4); 
	while((row=mysql_fetch_row(res)))
	{
		for(unsigned int i = 0;i < mysql_num_fields(res); i++)
			printf("%s\n",row[i]);
	}
	if(!mysql_eof(res))
		exiterr(5); 
	mysql_free_result(res);
	mysql_close(&mysql); 
}
Помнится, на старом форуме была тема про коннектор, но мне бы хотелось обойтись без подобных реализаций.

Если у кого-то имеется рабочий пример - очень прошу поделиться.
P.s. Выкладывали когда-то давно программку RUDB, она подключалась к БД и заполняла таблицы locales_*. Если у кого имеется код - буду рад покопаться в нём.

Спасибо.
__________________
Галя: Вот почему когда я пуск делаю и по ярлыку две то запускается, а если вот мне к примеру надо не из пуска её то ничего и в красном показывает, а надо ведь чтобы квадратик жёлтенький открывал и там 3 кнопки должно быть?
admin: О Боже!
admin: Кто-нибудь, пришлите ко мне уборщицу, пусть мой мозг со стен и потолка отмоет

Последний раз редактировалось Hantet; 23.05.2010 в 18:44.
Hantet вне форума   Ответить с цитированием
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с DataLife Engine Праведник WWW 70 07.11.2011 15:59
ошибка mysql lovepsone Флудильня 8 14.12.2010 22:13
работа с базой characters извне Energy Флудильня 15 31.08.2010 19:10
Работа с Mangos Vampirenok Корзина 2 29.08.2010 05:00
ScriptDev2 Работа с ГО. xmolex Прочая документация 9 04.08.2010 06:59


Текущее время: 06:24. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot