FMDB sql查询在db中存在时不会产生任何结果

时间:2013-09-15 19:46:57

标签: ios sqlite fmdb

我在iOS框架中使用带有sqlite库的FMDB,并且遇到一个问题,即对db的查询没有结果,而如果我从数据库浏览器运行相同的查询,则会给我带来预期的结果。

这是获取数据的代码(使用哈希和时间戳):

NSMutableArray* classes = [NSMutableArray array];
NSArray* args;
NSString* sqlQuery = @"SELECT * FROM " T_DATA " WHERE " F_QUERY_HASH "=? AND " F_QUERY_TIMESTAMP ">? AND " F_QUERY_DATA_TYPE "=?";
args = [NSArray arrayWithObjects:[NSNumber numberWithInteger:[query hash]], [NSDate dateWithTimeIntervalSinceNow:(-QUERY_VALIDITY_TIME)], [NSNumber numberWithInt:QueryDataTypeClasses],nil];
__block BOOL found = NO;
[self inDatabase:^(FMDatabase *db) {
    FMResultSet* res = [db executeQuery:sqlQuery withArgumentsInArray:args];
    if ([res next]) {//should not be more than one result
        found = YES;
        NSData* classesData = [res dataForColumn:F_QUERY_DATA];
        [classes addObjectsFromArray:[dataParser classesFromData:classesData query:query]];
    }
}];

当我打印出sql查询并在我的数据库上运行它时,它返回结果,但代码没有。 这不是一致的,而是一直在发生。我会很高兴任何指针..
由于
阿亚拉

0 个答案:

没有答案