[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, "...");    
相关推荐
Once_day3 分钟前
C++之fmt库介绍和使用(1)
开发语言·c++·fmt
是店小二呀6 分钟前
【优选算法 | 字符串】字符串模拟题精选:思维+实现解析
android·c++·算法
kngines9 分钟前
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】附录-D. 扩展插件列表(PostGIS/PostgREST等)
数据库·postgresql·数据分析·pgvector·扩展插件·postgrest·向量数据
不爱学英文的码字机器16 分钟前
[操作系统] 策略模式进行日志模块设计
c++·策略模式
凤年徐19 分钟前
【C/C++】自定义类型:结构体
c语言·开发语言·c++·经验分享·笔记·算法
星星点点洲20 分钟前
【Redis】谈谈Redis的设计
数据库·redis·缓存
HelloZheQ21 分钟前
MVCC:数据库并发控制的利器
服务器·数据库·oracle
珹洺33 分钟前
Jsp技术入门指南【十四】实现基于MySQL+JDBC+JSP数据库验证的登录界面与登录跳转功能
java·运维·数据库·mysql·servlet
JhonKI41 分钟前
【MySQL】日志缓冲区详解 以及 InnoDB内存结构总结
数据库·mysql·oracle
DARLING Zero two♡1 小时前
C++效率掌握之STL库:map && set底层剖析及迭代器万字详解
c++·stl·set·map