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

相关推荐
zhangchaoxies2 分钟前
HTML怎么实现键盘操作全站导航_HTML全局快捷键说明面板【方法】
jvm·数据库·python
vegetablec4 分钟前
如何用 location.reload(true) 强制浏览器从服务器刷新页面
jvm·数据库·python
2301_814809864 分钟前
如何让导航栏的下落动画效果更缓慢?
jvm·数据库·python
杜子不疼.6 分钟前
Python多模态AI开发指南:让AI同时理解文字、图片和语音
开发语言·人工智能·python
Elastic 中国社区官方博客7 分钟前
多大才算太大?Elasticsearch 容量规划最佳实践
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索
逻辑驱动的ken9 分钟前
Java高频面试考点04
java·开发语言·算法·哈希算法·散列表
InfinteJustice9 分钟前
如何加固SQL通信安全_启用SSL加密确保数据传输安全
jvm·数据库·python
小饕9 分钟前
RAG学习之 - 检索质量评估指标详解:从概念到代码实战
开发语言·人工智能·python·学习
切糕师学AI9 分钟前
深入解析SqlSugar:.NET领域的高性能多数据库ORM框架
数据库·.net·orm
城数派10 分钟前
2025年我国乡镇的平均高程数据(Excel\Shp格式)
数据库·arcgis·信息可视化·数据分析·excel