VC++与MySQL数据库的连接(Window)

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.dlllibmysql.libmysqlclient.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 }
View Code

 

其中在运行过程中有一个重要的问题,一定要在你的工程中添加 libmysql.dll

不然就会有这句话  “无法启动此程序,因为计算机中丢失libmysql.dll

效果图就是这样的添加

 

好了,一个简单用C++连接MySQL数据库的实例完成了,如果你能拓展一下,那就可以实现CRUD了。

                          ^_^...^_^ ,加油!!!

 

转载于:https://www.cnblogs.com/sxmcACM/p/3810796.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值