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

相关推荐
我爱一条柴ya9 分钟前
【AI大模型】RAG系统组件:向量数据库(ChromaDB)
数据库·人工智能·pytorch·python·ai·ai编程
北北~Simple10 分钟前
第一次搭建数据库
服务器·前端·javascript·数据库
鸢想睡觉10 分钟前
【数据库基础 1】MySQL环境部署及基本操作
数据库·mysql
没有口袋啦11 分钟前
《数据库》MySQL备份回复
数据库
c7_ln15 分钟前
MYSQL C_API使用全解
c语言·数据库·mysql
karry013018 分钟前
高并发导致重复key问题--org.springframework.dao.DuplicateKeyException
java·数据库·ide
叫我菜菜就好26 分钟前
【node后端】搭建项目(Express+Ts+Typeorm+Mysql一步到位)
mysql·oracle·express
hudawei99627 分钟前
kotlin中withContext,async,launch几种异步的区别
android·开发语言·kotlin
消失的旧时光-194331 分钟前
Kotlin 常用语法糖完整整理
android·开发语言·kotlin
每次的天空35 分钟前
Android-重学kotlin(协程源码第一阶段)新学习总结
开发语言·学习·kotlin