C++连接数据库

个人笔记,留给n年后的自己
引用:https://www.bilibili.com/video/BV1m24y1a79o
要学看这个,文章给我自己看的

1.安装Connector/C++

下载地址:https://dev.mysql.com/downloads/connector/cpp/
官方文档:https://dev.mysql.com/doc/connector-cpp/8.0/en/preface.html

2.VS配置

include的目录(需要mysql目录下的include)
在这里插入图片描述

lib目录
在这里插入图片描述

dll依赖(需要加到项目目录下)
在这里插入图片描述

3.代码

初始化mysql连接(后面会封装到类里)

#pragma once
#include<mysql.h>
#include<iostream>
#include<vector>
#include<fstream>
#include<string>

const char* host = "127.0.0.1";
const char* user = "root";
const char* password = ;
const char* database = "genshin";
const int port = 3306;


MYSQL* con;
con = mysql_init(NULL);
//设置字符编码
mysql_options(con, MYSQL_SET_CHARSET_NAME, "GBK");
if (!mysql_real_connect(con, host, user, password, database, port, NULL, 0))
{
    fprintf(stderr, "failed to connect to database: Error:", mysql_error(con));
    return;
}

mysql_close(con);

增删改查

char sql[256];
    //增
    //sprintf_s(sql, "insert into forniture(name,paid,area,model,sorted,material)"
        //" values('%s','%s','%s','%s','%s','%s')",
        //forn->name.c_str(), forn->paid.c_str(), forn->area.c_str(),
        //forn->model.c_str(), forn->sorted.c_str(), forn->material.c_str());

    //删
    //sprintf_s(sql,"delete from table_name where xx=xx");

    //改
    //sprintf_s(sql,"update table_name set qq='123456' where id=5;");
    
    //查
    /*T str;
    sprintf_s(sql, "select xxx from table_name where xx=xx");
    MYSQL_RES* res = mysql_store_result(con);
    MYSQL_ROW row;
    while (row = mysql_fetch_row(res))
    {

    }*/

    //执行
    //执行失败(就是下面这样,不用加!)
    //if(mysql_query(con, sql))
    {
      //执行失败所需要输出的内容
    };

4.集成到类里

class mysql_manager
{
public:
    mysql_manager();//初始化连接
    ~mysql_manager();//关闭连接
    void insert_sql();
    void delete_sql();
    void update_sql();
    void select_sql();
public:
  //单例模式(不懂,但看着好好用,回头研究)
    static mysql_manager GetInstance()
    {
        static mysql_manager Mysql_m;
        return Mysql_m;
    }
private:
    MYSQL* con;
    void sample_sql(); //存放增删改查示例代码(上面)
    const char* host = "127.0.0.1";
    const char* user = "root";
    const char* password = ;
    const char* database = "test";
    const int port = 3306;
};
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值