由于现有的sqlite3在实际使用中被封装了一层,昨天在调试写测试例子时碰到一个问题,
sqlie3_exec函数在执行sql的insert语句时,总是报错,不能识别字符串.\
经过检查:
由于封装的上层输入参数是通过Json来作为各个参数,或者记录输入的.
而传入时,
json::value rec;
rec['filed']='string';
insert(rec);
这样写的原因是,当时直接从sqlite3里把原有数据库中的记录导出来,想直接使用,而数据中的记录时由于sqlite3中是直接使用单引号括起来的(当然实际输入时字符串用单引号或者双引号括起来,其实sqlite3都能识别.).但是在json的使用中,这样就会造成传入的值不符合要求,json无法识别单引号包裹的字符串.
改成如下,就ok了:
rec['filed']="string";
原文链接:https://www.f2er.com/sqlite/199339.html