让我解释一下标题。我有这段代码来检查表是否已经存在:
NSString *checkSql = @"SELECT * FROM sqlite_master WHERE type='table' AND name='files'";
NSArray *checkArray = [sqlite executeQuery:checkSql];
if ([checkArray count] != 0)
{
//rest of code here...
NSLog(@"Files table exists");
}
else
{
NSLog(@"Files table not found");
}
现在,这将始终显示Files table exists
. 但是,当我添加这些代码时:
NSArray *selArr = [sqlite executeQuery:[NSString stringWithFormat:@"SELECT FileID, FileName, FilePath FROM files WHERE UserID=%@", userId]];
这将显示此错误:SQLite Prepare Failed: no such table: files
2012-09-17 14:56:35.723 iskoolme[3275:15203] - Query: SELECT FileID, FileName, FilePath FROM files WHERE UserID=5
。
我真的不明白为什么会这样。这不是一个真正的问题,因为它实际上显示了数据库中的数据。我只是对“错误”的可能原因感到好奇。