数据库值有时更新但有时不更新?

时间:2011-11-23 09:35:26

标签: android database sqlite

我已经编写了一个简单的数据库更新代码,但它有时更新,有时候不...我已经编写了LOG用于构造,但是日志提供了正确的输出。这是我正在尝试的:=

public void updateDownloadedAssetNumberOfStartingBytesEncrypted(int id, int startingBytesEncrypted)
   {
       SQLiteDatabase database = null;
       int numOfRowsUpdated = 0;

       try
       {
           database = getWritableDatabase();

           ContentValues values = new ContentValues();
           values.put("StartingBytesEncrypted", startingBytesEncrypted);

           if(database.isOpen())
           {
               Log.v("updating in db","doc id - "+id + " encrypted bytes - "+startingBytesEncrypted);
               numOfRowsUpdated = database.update("_assets", values, "Id = "+id, null);
           }
           else
           {
               Log.v("Database","the database is not open thus starting encrypted bytes were not updated");
           }
           Log.v("muber of rows updated - ",""+numOfRowsUpdated);
       }
       catch(Exception ex)
       {

       }
       finally
       {
           if(database != null)
           {
               database.close();
           }
       }
   }

问题是什么?任何帮助都是值得赞赏的。

2 个答案:

答案 0 :(得分:1)

我有你的代码......

最后我解决了这个问题....实际上它是因为线程......

创建该行的线程稍后执行,并且首先执行了更新行 我已经解决了。有趣的是:)

答案 1 :(得分:0)

这是由于数据库的连接未打开而发生的。请保留ex.printstacktrace();在catch语句中。