MFC之连接mysql数据库

时间:2022-04-06 03:40:59
mysql可能是现在最常用的数据库的数据库之一,所以今天就来讲讲关于MFC如果连接mysql

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);