У меня проблема с проектом sqlite, который я делаю, я использую FMDB, я следую простому примеру, но он не работает. И не могу найти ошибку. Я сделал свою схему базы данных из терминала, я поместил в нее некоторые данные. Я очень новичок в ios dev, поэтому я точно не знаю, правильно ли я выполнил шаги. Вот что я сделал:
1. Я создал схему базы данных и добавил несколько полей. 2 - я скопировал базу данных .db в папку моего проекта в xcode. 3 - я добавляю файлы FMDB. 4 - я добавляю sqlite3.dylib 5 - я помещаю этот код:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.dbname = @"database.db";
NSArray * docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * docDIr = [docPath objectAtIndex:0];
self.dbpath = [docDIr stringByAppendingPathComponent:dbname];
[self checkDB];
[self getQ];
return YES;
}
-(void) getQ
{
FMDatabase * db = [FMDatabase databaseWithPath:dbpath];
[db open];
FMResultSet * result = [db executeQuery:@"SELECT * FROM table1"];
NSLog(@"last Error: %@",[db lastErrorMessage]);
NSLog(@"result: %@", result);
}
-(void) checkDB
{
BOOL success;
NSFileManager * fm = [NSFileManager defaultManager];
success = [fm fileExistsAtPath:dbpath];
NSError * error = [[NSError alloc] init];
if (success) return;
NSLog(@"result:");
NSString * dbPathFromApp = [[[NSBundle mainBundle] resourcePath]stringByAppendingPathComponent:self.dbname];
[fm copyItemAtPath:dbPathFromApp toPath:dbpath error:&error];
}
Судя по всему, база данных пуста, так что же случилось? почему я не могу найти таблицу 1? Если я открою файл с помощью любого графического интерфейса sqlite, таблица будет выглядеть нормально. Спасибо за любую помощь Консоль показывает мне следующие строки: 2013-03-02 14:03:31.839 myApp[21433:c07] последняя ошибка: нет такой таблицы: table1 2013-03-02 14:03:31.841 myApp[21433: c07] результат: (нулевой)