2010-08-14 152 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); 
}