我遇到以下代码加载SQLite数据库的问题。Sqlite数据库加载失败 - 问题与SQLite准备语句 - iPhone - xCode 4.3.1
- (NSArray *)getDatabase {
NSLog(@"Get Database Called");
NSMutableArray *retval = [[[NSMutableArray alloc] init] autorelease];
NSString *query = @"SELECT Description, UniqueID, HexCoords, NoHexCoords, NoAnnots, AnnotText, DescriptionFormatting, HexCoordsPortrait FROM MainTable";
sqlite3_stmt *statement;
if (sqlite3_prepare_v2(_database, [query UTF8String], -1, &statement, nil)
== SQLITE_OK) {
while (sqlite3_step(statement) == SQLITE_ROW) {
char *nameChars = (char *) sqlite3_column_text(statement, 0);
char *desChars = (char *) sqlite3_column_text(statement, 1);
int uniqueID = sqlite3_column_int(statement, 2);
从使用断点,我可以看到的问题是与if语句和代码永远不会越过这个if语句。任何人都可以发现什么可能是错的?代码在几个月前工作,我最近升级到xCode 4.3,所以这可能是问题吗?
提前致谢。
唯一的原因,我可以看到这样的表现是,如果_database没有正确设置。也许打电话来打开数据库?另外,最后一个参数应该是'NULL',而不是'nil',因为参数不是指向对象的指针。目前都编译为0,所以不应该导致问题,但我不知道他们会保持相同的任何保证。 – 2012-03-27 10:36:34