由于现有的sqlite3在实际使用中被封装了一层,昨天在调试写测试例子时碰到一个问题,
sqlIE3_exec函数在执行sql的insert语句时,总是报错,不能识别字符串.\
经过检查:
由于封装的上层输入参数是通过Json来作为各个参数,或者记录输入的.
而传入时,
Json::value rec;
rec['filed']='string';
insert(rec);
这样写的原因是,当时直接从sqlite3里把原有数据库中的记录导出来,想直接使用,而数据中的记录时由于sqlite3中是直接使用单引号括起来的(当然实际输入时字符串用单引号或者双引号括起来,其实sqlite3都能识别.).但是在Json的使用中,这样就会造成传入的值不符合要求,Json无法识别单引号包裹的字符串.
改成如下,就ok了:
rec['filed']="string";
总结以上是内存溢出为你收集整理的Bug:Sqlite3插入时由于json不能识别传入的单引号字符串引起的问题全部内容,希望文章能够帮你解决Bug:Sqlite3插入时由于json不能识别传入的单引号字符串引起的问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)