Bug:Sqlite3插入时由于json不能识别传入的单引号字符串引起的问
发布时间:2020-12-12 19:39:08 所属栏目:百科 来源:网络整理
导读:由于现有的sqlite3在实际使用中被封装了一层,昨天在调试写测试例子时碰到一个问题, sqlie3_exec函数在执行sql的insert语句时,总是报错,不能识别字符串. 经过检查: 由于封装的上层输入参数是通过Json来作为各个参数,或者记录输入的. 而传入时, json::value r
由于现有的sqlite3在实际使用中被封装了一层,昨天在调试写测试例子时碰到一个问题, sqlie3_exec函数在执行sql的insert语句时,总是报错,不能识别字符串. 经过检查: 由于封装的上层输入参数是通过Json来作为各个参数,或者记录输入的. 而传入时, json::value rec; rec['filed']='string'; insert(rec); 这样写的原因是,当时直接从sqlite3里把原有数据库中的记录导出来,想直接使用,而数据中的记录时由于sqlite3中是直接使用单引号括起来的(当然实际输入时字符串用单引号或者双引号括起来,其实sqlite3都能识别.).但是在json的使用中,这样就会造成传入的值不符合要求,json无法识别单引号包裹的字符串. 改成如下,就ok了: rec['filed']="string"; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |