Это мое первое приложение для iPhone на базе SQLite, и я пытаюсь заставить его читать иерархию меню из моей базы данных.
База данных, похоже, зарегистрирована нормально, так как скомпилированный оператор не выдает ошибку (попытался ввести правильное имя таблицы для проверки), но по какой-то причине sqlite3_step (compiledStmt) никогда не равен SQLITE_ROW как будто предположить, что там нет данных; который есть.
sqlite3 *database;
menu = [[NSMutableArray alloc] init];
if (sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
const char *sqlStmt = "SELECT * FROM Menu";
sqlite3_stmt *compiledStmt;
if (sqlite3_prepare_v2(database, sqlStmt, -1, &compiledStmt, NULL) == SQLITE_OK) {
while (sqlite3_step(compiledStmt) == SQLITE_ROW) {
NSString *aTitle = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStmt, 1)];
MenuItem *menuItem = [[MenuItem alloc] init];
menuItem.title = aTitle;
[menu addObject:menuItem];
[menuItem release];
}
}
else {
NSLog(@"There is an error with the SQL Statement");
}
sqlite3_finalize(compiledStmt);
}
sqlite3_close(database);