[C++] sqlite3_get_table 的使用

不知道为啥 sqlite3 里面使用 "UPDATE" 更新数据,更新失败也不报错,所以就想绕过去。先查一下字段存在不存在,然后再update

cpp 复制代码
std::string selectsql =  "SELECT COUNT(*) FROM table_name WHERE some_condition";
char** dbResult;
char* errmsg = NULL;        //用来存储错误信息字符串
int nRow = 0, nColumn = 0;  // nRow  查找出的总行数,nColumn 存储列
int ret = sqlite3_get_table(db, selectsql.c_str(), &dbResult, &nRow, &nColumn, &errmsg);
if (SQLITE_OK != ret || nRow == 0)
{

    sqlite3_free_table(dbResult);
   // do_something
}
 sqlite3_free_table(dbResult);
// do_something


std::string sql = "UPDATE table_name SET item1=? \
    WHERE item2=? and item3=? and item4=?;  ";

sqlite3_prepare_v2(db, sql.c_str(), -1, &statement, nullptr);
int index = 0;
QByteArray inByteArray
sqliteBind(statement, index, inByteArray.data(), inByteArray.length());  
sqliteBind(statement, index, "...");         
sqliteBind(statement, index, "...");  
sqliteBind(statement, index, "...");    
相关推荐
码农阿豪19 分钟前
从权限混沌到安全有序:金仓数据库的权限隔离如何超越MySQL
数据库·mysql·安全
不剪发的Tony老师43 分钟前
SQL Schema Compare:一款免费开源的数据库结构比较和同步工具
数据库
持梦远方1 小时前
【C++日志库】启程者团队开源:轻量级高性能VoyLog日志库完全指南
开发语言·c++·visual studio
寒秋丶1 小时前
Milvus:集合(Collections)操作详解(三)
数据库·人工智能·python·ai·ai编程·milvus·向量数据库
寒秋丶1 小时前
Milvus:Schema详解(四)
数据库·人工智能·python·ai·ai编程·milvus·向量数据库
kyle~1 小时前
CPU调度---协程
java·linux·服务器·数据库·c++20
IDOlaoluo1 小时前
SQL Server 2017 Developer 中文版安装教程(64位 ISO 文件详细步骤)
服务器·数据库·负载均衡
许长安1 小时前
C++中指针和引用的区别
c++·经验分享·笔记
hetao17338372 小时前
2025-10-30 ZYZOJ Star(斯达)模拟赛 hetao1733837的record
c++·算法
一只游鱼2 小时前
Springboot+BannerBanner(启动横幅)
java·开发语言·数据库