У меня есть таблица «ключевые слова», которая имеет 2 столбца «pk» и «текст».В Firefox SQLite Manager я вижу, что в столбце «текст» есть два имени: «Джон» и «Том».В моем коде нет ошибок или предупреждений.Когда я запускаю его в симуляторе, я вижу в консоли, что я никогда не вхожу в цикл «Пока».это означает, что FMResultSet «rs» не получает никакого результата от SQL-запроса. Я получаю сообщение «Успешно открыт» означает, что моя база данных была открыта без проблем, и путь к базе данных, имя базы данных и т. д. верны.Мой запрос также корректен, так как он не показывает ошибку запроса в консоли.Но я не получаю сообщение "пока цикл начался".Мой массив базы данных также пуст, поэтому я знаю, что цикл while не работает.Я использую базу данных FMD.Вот мой код
-(void) readWordsfromDatabase
{
db=[FMDatabase databaseWithPath:globalDatabasePath];
globalDatabaseArray=[[NSMutableArray alloc] init];
[db setLogsErrors:TRUE ];
[db setTraceExecution:TRUE];
if (![db open])
{
NSLog(@"Failed to open database");
return;
}
else {
NSLog(@"Opened successfully");
}
FMResultSet *rs= [db executeQuery:@"SELECT * FROM keywords"];
while([rs next])
{
NSLog(@"while loop started");
int aPK=[rs intForColumn:@"pk"];
NSString *aText=[rs stringForColumn:@"text"];
NSLog(@"aText is %@",aText);
singleKeyword *sk=[[singleKeyword alloc] initWithData:aPK :aText];
[globalDatabaseArray addObject:sk];
[sk release];
NSLog(@"text in array%@",[self.globalDatabaseArray objectAtIndex:0]);
NSLog(@"text in array%@",[self.globalDatabaseArray objectAtIndex:1]);
}//while closed
//NSLog(@"text in array%@",[self.globalDatabaseArray objectAtIndex:0]);
// NSLog(@"text in array%@",[self.globalDatabaseArray objectAtIndex:1]);
[db close];
}