0
我有一個寫入Sqlite數據庫的問題,最近問題的答案給出了爲什麼我無法更新/插入的線索。我從主包中獲取對該文件的引用並嘗試插入記錄。這是行不通的,因爲我發現,主包是隻讀的。我需要能夠讀/寫訪問我的Sqlite數據庫。有人可以指出我在iOS應用程序中執行Sqlite插入的簡單解釋嗎?謝謝,Viv在iOS應用程序中寫入對Sqlite的訪問
我有一個寫入Sqlite數據庫的問題,最近問題的答案給出了爲什麼我無法更新/插入的線索。我從主包中獲取對該文件的引用並嘗試插入記錄。這是行不通的,因爲我發現,主包是隻讀的。我需要能夠讀/寫訪問我的Sqlite數據庫。有人可以指出我在iOS應用程序中執行Sqlite插入的簡單解釋嗎?謝謝,Viv在iOS應用程序中寫入對Sqlite的訪問
您需要在主包中創建數據庫的副本以獲得寫權限。像這樣:
// 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];
}
你必須複製你的數據庫在文檔目錄讀取或寫入它。我強烈建議你使用FMDB來處理SQLite。 – Dilip 2013-04-06 13:33:16