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,说明创建成功

相关推荐
a***81392 分钟前
MySQL-练习-数据汇总-CASE WHEN
数据库·mysql
S***q19216 分钟前
Rust在系统工具中的内存安全给代码上了三道保险锁。但正是这种“编译期的严苛”,换来了运行时的安心。比如这段代码:
开发语言·后端·rust
M***Z21020 分钟前
SQL 建表语句详解
java·数据库·sql
打点计时器24 分钟前
matlab 解决wfdb工具使用本地数据集报错
开发语言·matlab
zmzb010329 分钟前
C++课后习题训练记录Day38
开发语言·c++
獭.獭.29 分钟前
C++ -- STL【string的使用】
c++·string·auto
夏霞40 分钟前
c# 使用vs code 创建.net8.0以及.net6.0 webApi项目的教程
开发语言·c#·.net
小兔薯了1 小时前
7. LNMP-wordpress
android·运维·服务器·数据库·nginx·php
瑞思蕊萌1 小时前
redis实战篇--完结篇
数据库·redis·缓存
云边有个稻草人1 小时前
金仓数据库:医疗信创国产化转型的核心支撑与实践标杆
数据库·国产数据库·金仓数据库·kes