我正在尝试在我的android程序中更新sql数据库中的密码值。 代码是
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 :(得分:0)
我认为您想要将mCursor.getColumnIndex(KEY_ROWID);
更改为
mCursor.getLong(mCursor.getColumnIndex(KEY_ROWID));
getColumnIndex不返回列的值,而是返回列的索引。