Comments (9)
我正在改这部分,改起来其实比你说的要复杂。我已经改好了,正在发1.3.1
from ctpersistance.
嗯,这其实是一个很复杂的问题,如果给所有主键都包一个引号,当主键为数字时又会出错,我需要解析一下主键类型再拼sql才行
发自我的 iPhone
在 2015年11月26日,22:12,monsterTesla [email protected] 写道:
错误信息的一部分“WHERE primaryKey = 987D5D73-4E98-49D5-A095-19610A3E8EEB
Error Message is: unrecognized token: "987D5D73"”应该是“- (NSString *)stringWithSQLParams:(NSDictionary *)params”这个方法在拼接参数的使用没有把主键值用“''”单引号包起来的原因。
改成""... WHERE primaryKey = '987D5D73-4E98-49D5-A095-19610A3E8EEB' ”就好了—
Reply to this email directly or view it on GitHub.
from ctpersistance.
嗯,应该不只是主键,用其他键来查询应该也有这个问题。也许可以通过params里面的value类型来判断是否需要加引号
from ctpersistance.
这个问题还没解决吗?查找的时候也是一样,如果value在表中是TEXT类型,就查不出来,少了单引号''
- (NSArray <NSObject > *)findAllWithKeyName:(NSString *)keyname value:(id)value error:(NSError *)error;
from ctpersistance.
主键目前强制要求是NSNumber,但是使用(NSArray > *)findAllWithKeyName:(NSString *)keyname value:(id)value error:(NSError *)error;这个函数去查找value为string的值已经OK了,昨天发布的1.3.0解决的就是这个问题。
from ctpersistance.
刚刚测试了1.3.0问题还在:
Query Error:
Origin Query is : SELECT * FROM 'pluginInfo' WHERE packagename = com.hikvision.moa.unlockuser
Error Message is: near ".": syntax error
1、这一串是我的value,报错了。
2、即便value是一串常规字符串,比如@”abc“,我刚刚插入的,用工具能查到,但是就是查不出数据,改成@"'abc'"之后就能查到了
3、还有就是不是应该所有的where条件里面条件值如果是text类型都应该要带单引号''的吗,我数据库不熟,但是其他的update、delete同样存在text类型的数据操作失效的问题
楼主可以测试下看
from ctpersistance.
刚才又看了一下,这个要改的话应该是在NSString+SQL.h文件的
- (NSString *)stringWithSQLParams:(NSDictionary *)params;
这个函数里面,在拼接字符串的时候,先判断value的类型,如果是NSString,加''
NSString *value = @"";
if ([params[key] isKindOfClass:[NSString class]]) {
value = [NSString stringWithFormat:@"'%@'", params[key]];
} else {
value = [NSString stringWithFormat:@"%@", params[key]];
}
不知道考虑的是否全面,你看下这样可以不
from ctpersistance.
1.3.1已经发好了,相关测试用例是1008和1009
from ctpersistance.
OK
from ctpersistance.
Related Issues (20)
- update 操作可能出现问题 HOT 3
- 同样是数据库更新错误 HOT 19
- 更新还是有问题 HOT 1
- 空值对象的改进问题 HOT 1
- CTPersistanceDatabasePool 中的一些问题 HOT 2
- CTPersistanceTable没有Merge数据的API HOT 22
- CTPersistanceDataBase没有提供自己定义数据库路径的接口 HOT 3
- 关于bindValueList HOT 1
- 当Table中没有数据的时候,Upsert一个带有PrimaryKey的Record,失败 HOT 1
- 数据库模糊查询findAllWithWhereCondition:@"name LIKE :name",没有数据 HOT 6
- 已有未加密数据库,增加加密功能出错 HOT 8
- 数据库操作偶尔崩溃在executeWithError方法中 HOT 83
- "Include of non-modular header inside framework module" HOT 1
- crash Thread 28: EXC_BAD_ACCESS (code=1, address=0x100000000) HOT 1
- [__NSDictionaryM setObject:forKey:]: object cannot be nil (key: jsonString) crash HOT 3
- 小白问下,表文件创建后能添加新字段吗 HOT 2
- 这个数据库迁移要结合CTMediator这个三方来做吗 HOT 1
- crash:setObjectForKey: object cannot be nil
- 你个博客http://casatwy.com无法打开。求增加字段升级数据库操作文档。 HOT 3
- podfile 文件开启 use_frameworks 后 sqlite3_key 调用系统方法
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ctpersistance.