我想要一個具有永久數據庫文件(位於硬盤驅動器上)的應用程序,並且每次運行我需要的應用程序創建另一個數據庫文件(RAM中的臨時文件),它將存儲某些信息。這個臨時文件將在執行結束時被刷新爲永久存儲(永久數據庫文件)一次。我被建議使用「SQLite在線備份API」http://www.sqlite.org/backup.html,但有一個問題。每次退出應用程序時,臨時文件(內存中的一個)是否會更新我的備份文件,或者是否會擦除備份文件中包含的所有舊數據,並只保存內存中的信息?在運行結束時創建永久數據庫並刷新臨時數據庫(:內存:)
是這樣的嗎?
char zFilename[] = "permanent.db";
char *db_name= ":memory:";
rc = sqlite3_open(db_name, &db);
//write some data to db
.........
//end of application flush db(memory) to permanent.db file
loadOrSaveDb(db, zFilename, 1);
I.e.我需要有一個永久性的數據庫文件,在每次運行應用程序後都會更新(它應該包含來自舊運行的數據並更新新運行的數據)
在此先感謝。
thkala感謝您的回覆。你知道我能做些什麼來獲得不會丟失之前運行數據的文件嗎? – user1079655