MFC连接mysql有两种方法一种是用mysql为C语言提供的接口,另一个就是用ADO智能指针来实现。这里就主要讲讲用C语言的接口来实现(因为这个方法简单而且常用)
(1)打开VC6.0工具(Tools)下的选择(Options)选项,在目录(Directories)的标签页中,把右边的下拉框拉到“include files”中加入mysql本地目录中的include文件夹(注意:主机安装mysql的时候必须选择完整安装,否则将会没有include文件夹)
(2)把右边的下拉框拉到“library files”中,加入mysql本地路径下的lib文件夹中的opt文件夹
(3)在"Project settings->link:Object/library modules"(工程-设置-link-对象/类模块)里面添加"libmysql.lib" 或者 直接在你的文件中加入 #pragma comment(lib, "libmysql.lib")
(4)包含两个头文件 #include"winsock.h" 和 #include "mysql.h"(注意:这里两个头文件的顺序不能弄错)
(5)现在可以用代码连接数据库了
MYSQL mysql; //数据库连接句柄 mysql_init (&mysql); if(!mysql_real_connect(&mysql,"localhost","root","","mydb",3306,NULL,0)) { AfxMessageBox("数据库连接失败"); return FALSE; }
(6)用sql读取数据库里面的信息
MYSQL_RES *results; MYSQL_ROW record;
mysql_query(&mysql,"select * from tw_map"); results=mysql_store_result(sock); while(record = mysql_fetch_row(results)) { m_map[atoi(record[0])-1][0]=record[1]; m_map[atoi(record[0])-1][1]=record[2]; m_map[atoi(record[0])-1][2]=record[3]; m_map[atoi(record[0])-1][3]=record[4]; m_map[atoi(record[0])-1][4]=record[5]; m_map[atoi(record[0])-1][5]=record[6]; m_map[atoi(record[0])-1][6]=record[7]; m_map[atoi(record[0])-1][7]=record[8]; m_map[atoi(record[0])-1][8]=record[9]; m_map[atoi(record[0])-1][9]=record[10]; m_map[atoi(record[0])-1][10]=record[11]; } mysql_free_result(results);