2013-04-06 58 views
0

我有一個寫入Sqlite數據庫的問題,最近問題的答案給出了爲什麼我無法更新/插入的線索。我從主包中獲取對該文件的引用並嘗試插入記錄。這是行不通的,因爲我發現,主包是隻讀的。我需要能夠讀/寫訪問我的Sqlite數據庫。有人可以指出我在iOS應用程序中執行Sqlite插入的簡單解釋嗎?謝謝,Viv在iOS應用程序中寫入對Sqlite的訪問

+1

你必須複製你的數據庫在文檔目錄讀取或寫入它。我強烈建議你使用FMDB來處理SQLite。 – Dilip 2013-04-06 13:33:16

回答

1

您需要在主包中創建數據庫的副本以獲得寫權限。像這樣:

// 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]; 
} 
相關問題