sqlite подготовить ошибку оператора - нет такой таблицы
У меня возникли некоторые трудности с моим подготовлением sqlite. Я получаю сообщение о том, что моя таблица не существует, хотя яЯ проверил его в нескольких местах, и он существует, поэтому яЯ в замешательстве.
Файл находится в правильной папке приложения iPhone SimulatorФайл добавлен в мой проект и доступен для просмотра в навигаторе проекта.Он также находится в моей фазе сборки - область ресурсов Copy Bundle.I 'мы убрали и снова побежали.База данных существует, и выполнение моего оператора sql дает мне только те результаты, которые я ожидал.
- (NSMutableArray *) getMyWorkout{
NSMutableArray *workoutArray = [[NSMutableArray alloc] init];
@try {
NSFileManager *fileMgr = [NSFileManager defaultManager];
NSString *dbPath = [[[NSBundle mainBundle] resourcePath ]stringByAppendingPathComponent:@"IOSDB.sqlite"];
NSLog(@"Db path is %@",dbPath);
BOOL success = [fileMgr fileExistsAtPath:dbPath];
if(!success) {
NSLog(@"Cannot locate database file '%@'.", dbPath);
}
if(!(sqlite3_open([dbPath UTF8String], &db) == SQLITE_OK)){
sqlite3_close(db);
NSLog(@"Failed to open database with message '%s'.", sqlite3_errmsg(db));
}
const char *sql = "SELECT Id, type, difficulty, duration, description FROM workoutTbl";
sqlite3_stmt *sqlStatement;
if(sqlite3_prepare(db, sql, -1, &sqlStatement, NULL) != SQLITE_OK){
NSLog(@"%s Prepare failure '%s' (%1d)", __FUNCTION__, sqlite3_errmsg(db), sqlite3_errcode(db));
} //...
Когда я запускаю его, я получаю путь к файлу и следующую ошибку
2013-02-01 18:07:08.060 TriShake[9251:c07] -[MyWorkoutList getMyWorkout] Prepare failure 'no such table: workoutTbl' (1)
Мы проверили эти другие вопросы, но не смогли найти решение
Sqlite Prepare Failed: такой таблицы нет <имя_таблицы>Sqlite3 дает "нет такого стола ошибка на iPhoneЯ понимаю, что sqlite3_open () создает пустую базу данных для вас, если путь к базе данных не существует, но я знаю, что он существует, поэтому возникает разочарование. Буду очень признателен за любую помощь или руководство, которое вы можете мне дать.