2013-05-05 81 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

相关问题