Tom*_*Dev 1 sqlite objective-c nsnumber ios
我在为我的iOS应用程序插入一个int到SQLite数据库时遇到问题.当我选择它时,它总是为零.
我正在创建这个表:
CREATE TABLE followedCategory(id TEXT(256) primary key, title TEXT(256), img BLOB, following INTEGER)
Run Code Online (Sandbox Code Playgroud)
最后一个param(following)导致了问题.我用这段代码插入记录:
DatabaseRecord *rec = [database query:@"INSERT INTO followedCategory VALUES (?1, ?2, ?3, ?4)" params:category.categoryId, category.title, UIImagePNGRepresentation(category.image), [NSNumber numberWithInt:1], nil];
[rec next];
Run Code Online (Sandbox Code Playgroud)
当我用这个查询表时:
DatabaseRecord *rec = [database query:@"SELECT COUNT(*) FROM followedCategory WHERE following = ?1" params:[NSNumber numberWithInt:1], nil];
[rec next];
return [rec intAtCol:0];
Run Code Online (Sandbox Code Playgroud)
我总是得到零结果.当我运行这个:
DatabaseRecord *recTest = [database query:@"SELECT following FROM followedCategory LIMIT 2"];
[recTest next];
NSLog(@"First following is %i", [recTest intAtCol:0]);
[recTest next];
NSLog(@"Second following is %i", [recTest intAtCol:1]);
Run Code Online (Sandbox Code Playgroud)
我在日志中找到了这个:
2014-01-29 10:24:58.595 App[1940:60b] First following is 0
2014-01-29 10:24:58.596 App[1940:60b] Second following is 0
Run Code Online (Sandbox Code Playgroud)
我猜插入查询导致问题,但我无法弄清楚为什么.顺便说一句,我使用的是NSNumber因为Database类将它转换为int,不能将int传递给DatabaseRecord.
有人建议吗?提前致谢!
| 归档时间: |
|
| 查看次数: |
81 次 |
| 最近记录: |