Bug:Sqlite3插入时由于json不能识别传入的单引号字符串引起的问题
2015-09-17 07:39
363 查看
由于现有的sqlite3在实际使用中被封装了一层,昨天在调试写测试例子时碰到一个问题,
sqlie3_exec函数在执行sql的insert语句时,总是报错,不能识别字符串.\
经过检查:
由于封装的上层输入参数是通过Json来作为各个参数,或者记录输入的.
而传入时,
json::value rec;
rec['filed']='string';
insert(rec);
这样写的原因是,当时直接从sqlite3里把原有数据库中的记录导出来,想直接使用,而数据中的记录时由于sqlite3中是直接使用单引号括起来的(当然实际输入时字符串用单引号或者双引号括起来,其实sqlite3都能识别.).但是在json的使用中,这样就会造成传入的值不符合要求,json无法识别单引号包裹的字符串.
改成如下,就ok了:
rec['filed']="string";
sqlie3_exec函数在执行sql的insert语句时,总是报错,不能识别字符串.\
经过检查:
由于封装的上层输入参数是通过Json来作为各个参数,或者记录输入的.
而传入时,
json::value rec;
rec['filed']='string';
insert(rec);
这样写的原因是,当时直接从sqlite3里把原有数据库中的记录导出来,想直接使用,而数据中的记录时由于sqlite3中是直接使用单引号括起来的(当然实际输入时字符串用单引号或者双引号括起来,其实sqlite3都能识别.).但是在json的使用中,这样就会造成传入的值不符合要求,json无法识别单引号包裹的字符串.
改成如下,就ok了:
rec['filed']="string";
相关文章推荐
- redis如何关闭持久化
- Oracle安装错误ora-00922(缺少或无效选项)
- [C#新手入门 八] SqlRowUpdatedEventHandler 是干嘛用的?
- sqoop出错,读不了mysql
- SQL SERVER数据库表记录只保留N天图文教程
- win10安装Sql Server 2014图文教程
- 详解SQLServer和Oracle的分页查询
- Oracle知识整理笔记
- Linux redis 开启启动
- Mysql内存表主从复制【译】
- --查询Oracle表字段名称,类型,数据长度,注释的语句
- mysql报错:ERROR 1045 (28000): Access 解决办法
- mysql5.6压力测试 sysbench工具
- ORACLE索引回表访问
- 【Oracle】day04_子查询_分页查询_DECODE_排序_集合操作_高级分组
- CentOS7安装Redis
- 【Oracle】day03_查询语句_聚合函数_关联查询
- hibernate3.4 注解 oracle简单入门例子
- 二维码识别项目——数据库建立及报表生成
- mysql联合索引