【问题标题】:Data not inserting in Sqlite database in android数据未插入android中的Sqlite数据库
【发布时间】:2010-08-14 11:47:43
【问题描述】:

我正在开发一个需要使用 SQLite 数据库的应用程序。我已经实现了获取数据,但是当我尝试插入数据时遇到了问题。我遇到的问题是我输入的新数据没有被存储,即没有新的数据被输入到数据库中。

这是我的插入代码,myDataBase 是 SQLiteDatabase 的一个实例。

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

【问题讨论】:

  • insert() 的返回值是什么:-1(错误),还是有效的行 ID?

标签: android sqlite


【解决方案1】:

试试这个方法。您需要先启动事务,然后将其标记为成功并结束。

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

【讨论】:

  • 是否有必要进行显式事务才能使其提交? SQLite 默认不使用自动提交模式吗?
【解决方案2】:

你忘记提交事务了。

【讨论】:

  • 您好,但是如何提交交易..?
  • 不确定,但我猜setTransactionSuccessful() 实际上是提交。
【解决方案3】:

试试这个代码,这可能对你有帮助

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

【讨论】:

    猜你喜欢
    • 2021-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多