2010-08-14 151 views
6

我正在開發一個需要使用SQLite數據庫的應用程序。我已經實現了獲取數據,但是當我嘗試插入數據時,我遇到了問題。我遇到的問題是我輸入的新數據沒有被存儲,即沒有新的數據被輸入到數據庫中。數據沒有插入到Sqlite數據庫中android

這是我的插入代碼,myDataBase是SQLiteDatabase的一個實例。

public void insertTitle(String Recipe) 
{ 
    ContentValues initialValues = new ContentValues(); 
    initialValues.put(COLUMN_NAME,value); 
    myDataBase.insert(ZRECIPE, null, initialValues); 
} 
+0

什麼是'插入()'的返回值:-1(錯誤),或有效行ID? – LarsH 2017-11-13 18:41:56

回答

2

您忘了提交交易。

+2

嗨,但如何承諾transcaction ..? – Jaymin 2010-08-14 12:03:47

+0

不知道,但我猜''setTransactionSuccessful()'實際上是提交。 – Stan 2015-03-16 12:03:59

6

試試這個方法。您需要先開始交易,然後將其標記爲成功並結束。

try { 
     myDataBase.beginTransaction(); 
     myDataBase.insert(ZRECIPE, null, initialValues); 
     myDataBase.setTransactionSuccessful(); 
     } 
    finally { 
     myDataBase.endTransaction(); 
     } 
+0

是否需要執行顯式事務才能使其提交? SQLite默認情況下不使用自動提交模式嗎? – LarsH 2017-11-13 18:42:33

-1

嘗試使用此代碼,這可能幫助你

public void insertTitle(String Recipe) 
{ 
    ContentValues initialValues = new ContentValues(); 
    initialValues.put(COLUMN_NAME,Recipe); 
    myDataBase.insert(ZRECIPE, null, initialValues); 
}