C++完成Query执行sql语句的接口封装和测试

1、在LXMysql.h 创建Query执行函数

cpp 复制代码
//封装 执行sql语句  if sqllen =0 strlen获取字符长度
	bool Query(const char*sql,unsigned long sqllen=0);

2、在LXMysql.cpp编写函数

cpp 复制代码
bool LXMysql::Query(const char* sql, unsigned long sqllen)
	{
		if (!mysql)//如果mysql没有初始化好
		{
			cerr << "Query failed: mysql is NULL" << endl;
			return false;
		}
        //如果sql语句是空的
		if (sql == NULL)
		{
			cerr << "sql is NULL" << endl;
			return false;
		}
        //如果sql语句长度为0
		if (sqllen <= 0)
		{
			sqllen = (unsigned long)strlen(sql);//强转
		}
        //如果还是<=0,就已经错啦
		if (sqllen <= 0)
		{
			cerr << "Query sql is empty or wrong format!" << endl;
		}
		int re = mysql_real_query(mysql, sql, sqllen);
		if (re != 0)
		{
			cerr << "mysql_real_query fqiled!" << mysql_error(mysql) << endl;
			return false;
		}
		return true;
	}

3、测试,创建一个表格,执行之后查看是否创建成功

cpp 复制代码
 string sql = "";
    sql = "CREATE TABLE IF NOT EXISTS `t_vedio`\
          (id INT AUTO_INCREMENT,\
          name varchar(1024),\
          data BLOB,\
          size INT,\
          PRIMARY KEY(id))";
    cout << my.Query(sql.c_str()) << endl;

4、执行,发现输出为1,说明创建成功

相关推荐
李白同学几秒前
【C语言】结构体内存对齐问题
c语言·开发语言
人间打气筒(Ada)24 分钟前
MySQL主从架构
服务器·数据库·mysql
leegong2311125 分钟前
学习PostgreSQL专家认证
数据库·学习·postgresql
喝醉酒的小白27 分钟前
PostgreSQL:更新字段慢
数据库·postgresql
敲敲敲-敲代码28 分钟前
【SQL实验】触发器
数据库·笔记·sql
和道一文字yyds30 分钟前
MySQL 中的索引数量是否越多越好?为什么?如何使用 MySQL 的 EXPLAIN 语句进行查询分析?MySQL 中如何进行 SQL 调优?
数据库·sql·mysql
黑子哥呢?1 小时前
安装Bash completion解决tab不能补全问题
开发语言·bash
落笔画忧愁e1 小时前
FastGPT快速将消息发送至飞书
服务器·数据库·飞书
青龙小码农1 小时前
yum报错:bash: /usr/bin/yum: /usr/bin/python: 坏的解释器:没有那个文件或目录
开发语言·python·bash·liunx
大数据追光猿1 小时前
Python应用算法之贪心算法理解和实践
大数据·开发语言·人工智能·python·深度学习·算法·贪心算法