2013-04-06 2 views
0

У меня проблема с записью в Sqlite DB, и ответ на недавний вопрос дал понять, почему я не могу обновить/вставить. Я получаю ссылку на файл из основного пакета и пытаюсь вставить запись. Это не сработает, поскольку, как я обнаружил, основной комплект доступен только для чтения. Мне нужно иметь доступ для чтения/записи к моей базе данных Sqlite. Может ли кто-нибудь указать мне на простое объяснение выполнения вставки для Sqlite в приложении iOS? Спасибо, VivНаписать доступ к Sqlite в приложении iOS

+1

Вы должны скопировать свой db в каталог документов, чтобы прочитать или написать его. и я настоятельно рекомендую вам использовать FMDB для работы с SQLite. – Dilip

ответ

1

Вам нужно создать копию db, которую вы имеете в своем основном комплекте, чтобы получить доступ на запись. Например:

// Path to db 
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString* path = [paths objectAtIndex:0]; 
// Name of DB: 
NSString* fullPath = [path stringByAppendingString:@"/original.db"]; 
// FileManager, to open db: 
NSFileManager* fm = [NSFileManager defaultManager]; 
// do we already have a local copy? 
if (![fm fileExistsAtPath:fullPath]) { 
    NSString* pathForNewDB = [[NSBundle mainBundle] pathForResource:@"database" ofType:@"db"]; 
    // create local copy: 
    [fm copyItemAtPath:pathForNewDB toPath:fullPath error:NULL]; 
} 
Смежные вопросы