欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VS2017配置C/C++-MySQL开发环境

程序员文章站 2024-02-20 08:30:58
...

原文链接:https://blog.csdn.net/DaSo_CSDN/article/details/54646859

开发环境】
Visual Studio with Update 3
(下载地址:http://www.itellyou.cn/)
MySQL 8.0.0
(下载地址:MySQL-8.0

【注意事项】
1。MySQL也可以是其他版本(其他版本下载地址:MySQL其他版本),配置方法相同,但最好下载zip包而不是msi包,因为仅需要用到其中两个文件夹,并不需要安装MySQL
2。每次新建工程之后都要先配置MySQL开发环境

【配置步骤】
1。新建一个项目

2。打开MySQL压缩包,将include文件夹和lib文件夹解压至项目路径

3。进入项目属性

4。添加include文件夹

5。添加lib文件夹

6。添加libmysql.lib

手动输入“libmysql.lib”

7。将lib文件夹中的libmysql.dll复制到项目目录中

8。在源文件中添加头文件mysqld.h即可使用MySQL内容
测试代码:

#include <stdio.h>  
#include <mysql.h>  

void sqlselect(MYSQL *, char *);     //测试查询数据  

int main()
{
    //初始化MySQL连接句柄
    MYSQL *mysql = NULL;
    mysql = mysql_init((MYSQL *)0);

    mysql_real_connect
    (
        mysql,
        "192.168.1.104", //数据库地址
        "root", //数据库用户名
        "aaabbbccc", //数据库密码
        "daso_test", //数据库名称
        0, //数据库端口,0表示默认端口(即3306)
        NULL, //如果unix_socket不是NULL,字符串指定套接字或应该被使用的命名管道。注意host参数决定连接的类型
        0 //通常是0
    );

    if (!mysql) //连接失败
    {
        printf("Connection error:%d, %s\n", mysql_errno(mysql), mysql_error(mysql));
    }

    char *command = "select * from testtable"; //查询指令

    sqlselect(mysql, command); //查询数据   
    mysql_close(mysql); //关闭连接  

    system("pause");
    return 0;
}

void sqlselect(MYSQL *mysql, char *command)
{

    int flag = mysql_real_query(mysql, command, strlen(command));

    if (flag)
    {
        printf("Select error:%d, %s\n", mysql_errno(mysql), mysql_error(mysql));
        return;
    }

    MYSQL_RES *res = mysql_store_result(mysql); //读取将查询结果   
    MYSQL_FIELD *field = mysql_fetch_fields(res); //获取所有列名
    int field_count = mysql_field_count(mysql); //获取列数

    //输出所有列名
    for (int i = 0; i < field_count; i++)
    {
        printf("%s\t", field[i].name);
    }

    printf("\n");

    //遍历输出每一行数据  
    MYSQL_ROW row;
    while (row = mysql_fetch_row(res))
    {
        for (int i = 0; i < field_count; i++)
        {
            printf("%s\t", row[i]);
        }
        printf("\n");
    }
}