首页 > 数据库 >论c++实现sql连接

论c++实现sql连接

时间:2023-06-13 21:47:15浏览次数:43  
标签:const sql c++ mysql 连接 con

寻找关于c++ 对 sql连接的过程非常艰辛。

今天要做一个简单项目,要求在远程sql上实现对数据的实时模拟,每五分钟进行一次随机产生数据并写入。

在此之前我并没有用过代码实现sql连接的经历,在翻阅无数资料后,终于实现了使用visual studio对mysql的连接。

第一步,添加mysql的依赖文件,在vc++中添加include,在链接器中添加依赖库lib,以及项libmysql.lib。具体添加我就不赘述了。

第二步,下载mysql 官方的connector c++文件,里面有一个libcrypto-1_1-x64.dll和libssl-1_1-x64.dll需要添加进项目目录中,以及在mysql的安装目录下可以找到一个libmysql.dll文件,都要放在项目目录下。

此过程对于连接windows端的mysql和连接linux的mysql均适用。

最后,代码编辑。头文件此处不在复述。

const char* host = "192.168.0.100";
const char* user = "root";
const char* password = "password";
const char* database_name = "test";
const int port = 3306;


int main() {
    MYSQL* con = mysql_init(NULL);
    mysql_options(con, MYSQL_SET_CHARSET_NAME, "utf8");
    if (!(mysql_real_connect(con, host, user, password, database_name, port, NULL, 0))) {
        fprintf(stderr, "Failed to connect to database:Error%s\n", mysql_error(con));
        return -1;
    }
    else {
        cout << "successd" << endl;
    }
    mysql_close(con);//关闭连接
    system("pause");
    
}

 

标签:const,sql,c++,mysql,连接,con
From: https://www.cnblogs.com/kukusuyi/p/17478775.html

相关文章

  • 《C++》函数重载
    函数默认值函数调用时传入数据则覆盖默认值,反则使用默认值intAdd(inta,intb=0,intc=0){ returna+b+c;}intmain(){ intret=Add(1,3); cout<<ret<<endl; system("pause"); return0;}如果从一个位置设置默认参数,其后也必须设置默认参数若函数声明有默认......
  • MySQL索引
    一:索引的声明及使用索引是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对性能的影响就愈发重要。索引优化应该是对查询性能优化最有效的手段,创建一个真正最优的索引经常需要重写SQL查询语句。要理解MySQL中索引......
  • 记录一个MySQL中order by 和 limit 连用导致分页查询不生效的坑
    具体现象和这位同学的一致,具体的解决办法也是参考这位同学的做法参考文章地址:https://www.cnblogs.com/yuluoxingkong/p/10681583.html......
  • 现代C++学习指南-类型系统
    在前一篇,我们提供了一个方向性的指南,但是学什么,怎么学却没有详细展开。本篇将在前文的基础上,着重介绍下怎样学习C++的类型系统。写在前面在进入类型系统之前,我们应该先达成一项共识——尽可能使用C++的现代语法。众所周知,出于兼容性的考虑,C++中很多语法都是合法的。但是随着新......
  • mysql 8.0.32 视图中文无法过滤
    mysql8.0.32视图中采用unionall或union合并获取结果时,含有中文的字段过滤失效会提示类似如下的信息Warning|1300|Cannotconvertstring'\xE5\xAE\xA2\xE6\x88\xB7...'fromutf8mb4tobinary这是此版本bug.在对派生表使用where条件时,如果对应值超过128(ascii值),对......
  • mysql一些小知识点
    mysql的三值逻辑mysql使用的是三值逻辑:TRUE FALSE UNKNOWN。任何与null值进行的比较都会与第三种值UNKNOWN做比较。这个“任何值”包括null本身。所以mysql提供了isnull和isnotnull两种操作来对null做特殊判断因此,在进行select查询时,如果查询到的值有为空的时候......
  • Python调用C/C++动态库
    一、编译C++代码并封装成动态库1、创建编译dll文件的项目,在上面的官网介绍的更详细,这里就不多做介绍了。注意在vs之中新建一个项目,项目选择动态链接库(DLL)2、2.在源文件中添加cpp文件并写好函数#include<iostream>#defineMATHLIBRARY_APIextern"C"__declspec(dllexport)......
  • 工作记录_mysql_AND优先级高于OR优先级
    1.错误示例SELECT t.task_department_name, COUNT(*)total_count, SUM(CASEWHENstatus='done'THEN1ELSE0END)ASfinish_count, SUM(CASEWHENstatus<>'done'THEN1ELSE0END)ASunfinish_countFROM`t_task`t--WHEREtask_typ......
  • emqx 监听设备连接、掉线
    方式一emqx中配置规则,将上线、离线的消息转发到新的主题,随后程序中监听这个新主题即可规则sql配置为SELECT*FROM"$events/client_connected","$events/client_disconnected"转发配置随后将这个规则启用即可方式二使用系统消息捕获上线、离线的消息随后处理业......
  • U816.0客户端登录提示管道尚未连接
    问题:用友U816.0提示管道尚未连接服务器开放了1152046309023804522807214417452714319端口,测试不能登录客户isd到期,不能更新msc结尾的补丁网站上面给的解决方式:用友U813.0客户端登录提示管道连接错误怎么回事?您好,具体完整提示是什么是管道连接错误还是管道尚......