zoukankan      html  css  js  c++  java
  • 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 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 }
    View Code

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

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

    效果图就是这样的添加

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

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

  • 相关阅读:
    进程 之二
    进程
    VIM
    Linux
    编码
    Maven
    Java
    Java
    Java
    其他
  • 原文地址:https://www.cnblogs.com/sxmcACM/p/3810796.html
Copyright © 2011-2022 走看看