Win7 32位系统C++连接MySQL 5.7数据库(免安装版)

发布于:2022-12-08 ⋅ 阅读:(548) ⋅ 点赞:(0)

MySQL5.7数据库免安装版

从MySQL官网上下载mysql-5.7.35-win32.zip
安装方法参考免安装版MySQL的配置

MVS 2015 C++连接MySQL

创建空项目

使用VS2015创建空项目

在项目属性中配置附加目录、附加库

(1)右键项目选择属性,进入C/C++ => 常规 => 附加包含目录,添加D:\MySQL5.7.35\mysql-5.7.35-win32\include(根据自己安装的MySQL版本及地址填写)
在这里插入图片描述
(2)在属性页,进入链接器 => 常规 => 附加库目录,添加D:\MySQL5.7.35\mysql-5.7.35-win32\lib(根据自己情况填写)
在这里插入图片描述
(3)在属性页,进入链接器 =>输入=> 附加依赖项,添加libmysql.lib
在这里插入图片描述
(4)在项目的\Debug\(exe文件所在的目录)中复制libmysql.dll,该dll文件在D:\MySQL5.7.35\mysql-5.7.35-win32\lib目录下

测试代码

一下代码需根据个人数据库情况调整

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

// using namespace std;

int main()
{
    MYSQL *con;
    MYSQL_RES *res;
    MYSQL_ROW row;
    char tmp[400];
    // database configuartion
    char dbuser[30] = "yang";
    char dbpasswd[30] = "12306";
    char dbip[30] = "localhost";
    char dbname[50] = "test";
    char tablename[50] = "t_a";
    char *query = NULL;

    int x;
    int y;
    int rt;  // return value  
    unsigned int t;

    int count = 0;

    con = mysql_init((MYSQL*)0);

    if (con != NULL && mysql_real_connect(con, dbip, dbuser, dbpasswd, dbname, 3306, NULL, 0)) {
        if (!mysql_select_db(con, dbname)) {
            printf("Select successfully the database!\n");
            con->reconnect = 1;
            query = "set names \'GBK\'";
            rt = mysql_real_query(con, query, strlen(query));
            if (rt) {
                printf("Error making query: %s !!!\n", mysql_error(con));
            }
            else {
                printf("query %s succeed!\n", query);
            }
        }
    }
    else {
        MessageBoxA(NULL, "Unable to connect the database,check your configuration!", "", NULL);
    }

    // sprintf(tmp, "insert into %s values(%s,%d,%d)", tablename, "null", x, y); // 注意如何向具有自增字段的数据库中插入记录
    // sprintf(tmp, "insert into t_a values(5,'Jack','Swimming',90)");


    // rt = mysql_real_query(con, tmp, strlen(tmp));
    // if (rt)
    // {
    //     printf("Error making query: %s !!!\n", mysql_error(con));
    // }
    // else
    // {
    //     printf("%s executed!!!\n", tmp);
    // }

    sprintf_s(tmp, "select * from %s", tablename);
    rt = mysql_real_query(con, tmp, strlen(tmp));
    if (rt)
    {
        printf("Error making query: %s !!!\n", mysql_error(con));
    }
    else
    {
        printf("%s executed!!!\n", tmp);
    }
    res = mysql_store_result(con);  // 将结果保存在res结构体中

    while (row = mysql_fetch_row(res)) {
        for (t = 0; t<mysql_num_fields(res); t++) {
            printf("%s  ", row[t]);
        }
        printf("\n");
        count++;
    }

    printf("number of rows %d\n", count);
    printf("mysql_free_result\n");
    mysql_free_result(res);
    mysql_close(con);
    system("pause");

    // cout << "MySQL" << endl;
    return 0;
}

运行结果:
在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到