2011-12-16 53 views
0

我在我的應用程序中使用phonegap(1.2)中的SQLite函數,退出應用程序並重新啓動後,我以前存儲到數據庫的所有數據都消失了。我該如何防止丟失數據以及設備上存儲的應用程序(Android,iPhone)的位置。退出應用程序後Phonegap drop數據庫

創建表:

function favouritesInit(transaction){ 
    transaction.executeSql('CREATE TABLE IF NOT EXISTS FAVOURITES (id INTEGER PRIMARY KEY, lat, ln, title, cont)'); 
} 

插入:

var statement = 'INSERT INTO FAVOURITES (lat, ln, title, cont) values('+the_fav.getPosition().lat()+', '+the_fav.getPosition().lng()+', '+the_fav.getTitle()+', '+content+')'; 
    transaction.executeSql(statement); 

感謝

+0

這絕不應該發生。你使用的是什麼操作系統和版本? – 2011-12-16 14:26:03

回答

1

您應該確保問題是,一旦你關閉你的應用程序的數據庫將被丟棄。在我看來,只是數據沒有通過插入進入數據庫。有了你通過的代碼,我只能猜測,但如果我是你,我會運行一個事務,在插入數據後立即從數據庫讀取數據,以確保它實際上進入數據庫。

0

問題是您沒有傳遞主鍵的值。

你的表有一個id作爲主鍵,因此它不能爲空。唯一的例外是當你聲明id爲'AUTOINCREMENT'時:在這種情況下,如果你沒有傳遞一個主鍵值,數據庫將從爲此目的創建的序列表中分配下一個可用值。

希望這有助於:https://www.sqlite.org/autoinc.html

乾杯!

相關問題