huidong

首页 | 会员登录 | 关于争取 2022 寒假做出汇东网 Ver3.0.0 !
搜索文章



可以更方便的使用mysql for c库

mysql_tools.zip


或者百度网盘:

链接: https://pan.baidu.com/s/1dPtlh5W3mMFcisC4SOa3hQ  提取码: gcu2


库的安装:http://www.huidong.xyz/index.php?mode=2&id=184


源码:

mysql_tools.h

////////////////////////////////////////////////////
//
//    mysql_tools.h
//    
//    mysql库的辅助使用库
//
//    版本:Ver1.0
//
//    制作:huidong <mailkey@yeah.net>
//
//    创建时间: 2020.11.21
//    最后修改: 2020.11.22
//
//

#pragma once

#include <iostream>
using namespace std;

#include <mysql.h>
#pragma comment(lib,"libmysql.lib")

// 连接数据库,返回是否连接成功
bool init_connect(
    const char* host,    // 主机ip
    const char* user,    // 数据库用户名
    const char* passwd,    // 数据库密码
    const char* db,        // 数据库名称
    int port = 3306        // 端口,通常为3306
);

// 关闭数据库的连接
void close_connect();

// 执行sql语句,返回执行是否成功
bool do_sql(const char* command);

// 得到得到执行sql查询语句后返回的内容条数
my_ulonglong get_sql_result_num();

// 得到执行sql查询语句后返回的内容,num是指第几条内容(从0数)
MYSQL_ROW get_sql_result(my_ulonglong num);

// 得到当前的res
MYSQL_RES* get_sql_res();

// 设置当前的res
void set_sql_res(MYSQL_RES* res);



mysql_tools.cpp

////////////////////////////////////////////////////
//
//    mysql_tools.cpp
//    
//    mysql库的辅助使用库
//
//    版本:Ver1.0
//
//    制作:huidong <mailkey@yeah.net>
//
//    创建时间: 2020.11.21
//    最后修改: 2020.11.22
//
//

#include "mysql_tools.h"

MYSQL* mysql = NULL;
MYSQL_RES* last_res = NULL;

// 执行sql语句,返回执行是否成功
bool do_sql(const char* command)
{
    // 有值返回说明执行失败
    if (mysql_real_query(mysql, command, strlen(command)))
    {
        cout << "Select error: " << mysql_errno(mysql) << ", " << mysql_error(mysql) << endl;
        return false;
    }

    last_res = mysql_store_result(mysql);

    return true;
}

// 得到得到执行sql查询语句后返回的内容条数
my_ulonglong get_sql_result_num()
{
    return mysql_num_rows(last_res);
}

// 得到执行sql查询语句后返回的内容,num是指第几条内容(从0数)
MYSQL_ROW get_sql_result(my_ulonglong num)
{
    mysql_data_seek(last_res, num);    // 移动到指定行
    return mysql_fetch_row(last_res);
}

// 得到当前的res
MYSQL_RES* get_sql_res()
{
    return last_res;
}

// 设置当前的res
void set_sql_res(MYSQL_RES* res)
{
    last_res = res;
}

// 连接数据库,返回是否连接成功
bool init_connect(
    const char* host,    // 主机ip
    const char* user,    // 数据库用户名
    const char* passwd,    // 数据库密码
    const char* db,        // 数据库名称
    int port            // 端口,通常为3306
)
{
    // 初始化MySQL连接句柄
    mysql = mysql_init((MYSQL*)0);

    // 连接数据库
    mysql_real_connect(mysql, host, user, passwd, db, port, NULL, 0);

    // 连接失败
    if (!mysql)
    {
        cout << "Connection error: " << mysql_errno(mysql)
            << ", " << mysql_error(mysql) << endl;
        return false;
    }

    // 改变编码格式
    mysql_set_character_set(mysql, "GB2312");

    return true;
}

// 关闭数据库的连接
void close_connect()
{
    mysql_close(mysql); // 关闭连接  
}





返回首页


Copyright (C) 2018-2024 huidong