1.此次写这个用来强化知识点。
Microsoft Visual C++ 6.0(大家可以在网上下载),用的后台是MySQL(我用版本是mysql-5.5.37-win32);
2.下面进行环境的搭建
Microsoft Visual C++ 6.0(next就行了)
注意:MySQL在安装的过程中,选择安装“完全版”(complete),不要选择默认的“典型”。否者,没有c++相关的连接库。
3.进行关联库(libmysql.dll和libmysql.lib和mysqlclient.lib)
(1)打开vc++6.0,工具->选项->目录(选项卡) ; 注:VS2005 2008 2010等,也是这样配置
(2)
在其Include files添加MySQL的include路径。
如我的MySQL的include文件夹的路径为:F:\Program Files\MySQL\MySQL Server 5.5\include。(图1)
切换下拉框,选择Library files,添加MySQL的lib路径。如我的为:F:\Program Files\MySQL\MySQL Server 5.5\lib (图2)
4.现在进行测试
<1>先建一个工程
<2>再建一个文件
<3>编写连接数据库文件
大致效果图
测试代码(附上)
1 #include <windows.h>
2 #include <stdio.h>
3 #include <stdlib.h>
4 #include <string.h>
5 #include <mysql.h>
6 #include <iostream>
7 #pragma comment(lib,"libmysql.lib")//连接MysQL需要的库
8 using namespace std;
9 int main()
10 {
11 const char user[] = "root"; //username
12 const char pswd[] = "*******"; //password
13 const char host[] = "localhost"; //or"127.0.0.1"
14 const char table[] ="database_name"; //database
15 unsigned int port = 3306; //server port
16 MYSQL myCont;
17 MYSQL_RES *result;
18 MYSQL_ROW sql_row;
19 MYSQL_FIELD *fd;
20 char column[32][32];
21 int res;
22 mysql_init(&myCont);
23 if(mysql_real_connect(&myCont,host,user,pswd,table,port,NULL,0))
24 {
25 cout<<"connect succeed!"<<endl;
26 mysql_query(&myCont, "SET NAMES GBK"); //设置编码格式,否则在cmd下无法显示中文
27 res=mysql_query(&myCont,"select * from table_name");//查询
28 if(!res)
29 {
30 result=mysql_store_result(&myCont);//保存查询到的数据到result
31 if(result)
32 {
33 int i,j;
34 cout<<"number of result: "<<(unsigned long)mysql_num_rows(result)<<endl;
35 for(i=0;fd=mysql_fetch_field(result);i++)//获取列名
36 {
37 strcpy(column[i],fd->name);
38 }
39 j=mysql_num_fields(result);
40 for(i=0;i<j;i++)
41 {
42 printf("%s\t",column[i]);
43 }
44 printf("\n");
45 while(sql_row=mysql_fetch_row(result))//获取具体的数据
46 {
47 for(i=0;i<j;i++)
48 {
49 printf("%s\n",sql_row[i]);
50 }
51 printf("\n");
52 }
53 }
54 }
55 else
56 {
57 cout<<"query sql failed!"<<endl;
58 }
59 }
60 else
61 {
62 cout<<"connect failed!"<<endl;
63 }
64 if(result!=NULL) mysql_free_result(result);//释放结果资源
65 mysql_close(&myCont);//断开连接
66 return 0;
67 }
其中在运行过程中有一个重要的问题,一定要在你的工程中添加 libmysql.dll
不然就会有这句话 “无法启动此程序,因为计算机中丢失libmysql.dll”
效果图就是这样的添加
好了,一个简单用C++连接MySQL数据库的实例完成了,如果你能拓展一下,那就可以实现CRUD了。
^_^...^_^ ,加油!!!