2013-05-05 79 views
0

我想在我的android程序的sql數據庫中更新密碼值。 代碼是爲什麼sql數據庫無法在android中更新?

mDbHelper = new DatabaseHelper(mCtx); 
mDb = mDbHelper.getWritableDatabase(); 
public boolean updatepasswordbySimcardnumber(String simcard, String password) {   
     Cursor mCursor = null; 
     int retvalue = 0; 
     mCursor = mDb.query(SQLITE_TABLE, new String[] {KEY_ROWID, 
        KEY_IDNUM, KEY_SIMCARD, KEY_DESCRIPTION, KEY_MODEL, KEY_TIMEINSTANCE, KEY_PASSWORD}, 
        null, null, null, null, null); 
     for(mCursor.moveToFirst(); !mCursor.isAfterLast(); mCursor.moveToNext()){ 
      if(mCursor.getString(2).equals(simcard)){ 
        ContentValues updatevalue = new ContentValues();   
        updatevalue.put(KEY_PASSWORD, password);    
        long colId = mCursor.getColumnIndex(KEY_ROWID); 
        retvalue = mDb.update(SQLITE_TABLE, updatevalue, KEY_ROWID + "=" + colId, null); 
        break; 
      } 
     } 
       mDbHelper.close(); 
     return retvalue > 0; 
    } 

但密碼從未更新。 什麼可能是錯的? 感謝

回答

0

我想你想改變mCursor.getColumnIndex(KEY_ROWID);mCursor.getLong(mCursor.getColumnIndex(KEY_ROWID));

getColumnIndex不返回該列的值,而是返回列的索引。

+0

謝謝男人,這是正確的。 – Bryanyan 2013-05-05 15:14:46

相關問題