2011-11-15 176 views
0

如何更新android數據庫中表的值?在下面的代碼,它被插入,但沒有更新,如果有更新,所有值顯示爲0。什麼是錯的這個代碼使用新表值更新數據庫

private void InsertINcurrentinfo(int iNCallsToLN, int iNLocalCallsM, 
     int iNLocalCallsL, int iNSTDCallsHM, int iNSTDCallsM, 
     int iNSTDCallsL, int iNgp1, int iNgp2, int iNgp3, int iNSplCalls) { 
    // TODO Auto-generated method stub 

    try { 
     myDB = SQLiteDatabase.openDatabase(DB_PATH, null, SQLiteDatabase.OPEN_READWRITE); 
     Cursor cursor = myDB.query(TABLE_CURRENTINFO, null, null, null,null, null, null); 
     int cnt=cursor.getCount(); 
     cursor.close(); 
     ContentValues initialValues = new ContentValues(); 
     initialValues.put("value1", String.valueOf(iNCallsToLN)); 
     initialValues.put("value2", String.valueOf(iNLocalCallsM)); 
     initialValues.put("value3", String.valueOf(iNLocalCallsL)); 
     initialValues.put("value4", String.valueOf(iNSTDCallsHM)); 
     initialValues.put("value5", String.valueOf(iNSTDCallsM)); 
     initialValues.put("value6", String.valueOf(iNSTDCallsL)); 
     initialValues.put("value7", String.valueOf(iNgp1)); 



     if(cnt==0){ 
      myDB.insert(TABLE_CURRENTINFO, null, initialValues); 
     }else{ 
      myDB.update(TABLE_CURRENTINFO, initialValues, null, null); 
     } 
     if (myDB != null) { 
      myDB.close(); 
     } 

    }catch(Exception ex) 
    { 
     if (myDB != null) { 
      myDB.close(); 
     } 
     Toast.makeText(getBaseContext(), "Error occured while updating Current CallInfo"+ex.toString(), 
       Toast.LENGTH_LONG).show(); 

    } 

} 
+0

難道ü檢查是否你正在獲取值的函數參數是正確的值。或者它也是0. –

+0

您是否嘗試過使用它:iNCallsToLN +「」而不是在您的代碼中使用String.valueOf(iNCallsToLN)? – Hiral

+0

你的猜測是對的Arun先生。 – user993444

回答

0

嘗試增加startManagingCursor(cursor);int cnt=cursor.getCount();