1.此次写这个用来强化知识点。
我用的编辑器是Microsoft Visual C++ 6.0(大家可以在网上下载),用的后台是MySQL(我用版本是mysql-5.5.37-win32);
2.下面进行环境的搭建
MySQL的安装(网上有教程)和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 FilesMySQLMySQL Server 5.5include。(图1)
切换下拉框,选择Library files,添加MySQL的lib路径。如我的为:F:Program FilesMySQLMySQL Server 5.5lib (图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 ",column[i]); 43 } 44 printf(" "); 45 while(sql_row=mysql_fetch_row(result))//获取具体的数据 46 { 47 for(i=0;i<j;i++) 48 { 49 printf("%s ",sql_row[i]); 50 } 51 printf(" "); 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了。
^_^...^_^ ,加油!!!