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

相关推荐
u***u6857 分钟前
Kotlin多平台开发实践
android·开发语言·kotlin
Q***K5511 分钟前
Kotlin与Java互操作指南
java·开发语言·kotlin
星月前端17 分钟前
[特殊字符]面向 ArcGIS for JavaScript(4.x)开发者的「坐标系统(CRS / 投影)」全面解读
开发语言·javascript·arcgis
“αβ”27 分钟前
MySQL库的操作
linux·服务器·网络·数据库·c++·mysql·oracle
TDengine (老段)34 分钟前
TDengine 转化函数 TO_CHAR 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
数据库学啊35 分钟前
国产时序数据库选型分析:聚焦 TDengine
数据库·时序数据库·tdengine
q***547542 分钟前
【MySQL】表的相关操作
android·mysql·adb
g***557544 分钟前
【mysql部署】在ubuntu22.04上安装和配置mysql教程
android·mysql·adb
岚天start1 小时前
源码编译安装的Nginx增加echo模块过程详解
linux·运维·数据库
lqj_本人1 小时前
深入解析Qt for OpenHarmony的CMake构建系统与常见陷阱
开发语言·qt