Показать сообщение отдельно
Старый 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 вне форума   Ответить с цитированием