可能重复:
update sql database with ContentValues and the update-method
我正在使用此代码,但我想根据我的ID更新它。
public void updateforgotpassword(String data) {
// TODO Auto-generated method stub
ContentValues forgotpass = new ContentValues();
forgotpass.put("password", data);
try {
db.update(TABLE_NAME, forgotpass, null, null);
}
catch (Exception e)
{
String error = e.getMessage().toString();
}
}
我该怎么做?
答案 0 :(得分:2)
假设行的ID存储在变量id中并假设列名是_id(这是标准的),您可以像这样更新
final String[] whereArgs = { Long.toString(id) };
db.update(TABLE_NAME, forgotpass, "_id = ?", whereArgs);
答案 1 :(得分:1)
您始终可以使用可以触发普通SQL查询的rawquery方法。
或者,您可以使用SQlite提供的“更新”方法,其中提供两个数组,一个用于“whereargs”,一个用于“wherevalue”
使用
rowQuery方法中的 "update [your table] set [your column]=value"
...
或,
db.update(TABLE_NAME, forgotpass, "KEY_ID = ?", whereArgs);
答案 2 :(得分:0)
您可以选择提供where子句。
db.update(TABLE_NAME,forgotpass,“ID =?”,new String [] {paramUserID});
答案 3 :(得分:0)
public boolean updateAccountData(AccountModel account) {
boolean updated = false;
openDataBase();
try {
final ContentValues values = new ContentValues();
values.put("AccountName", account.getAccountName());
values.put("Lessee", account.getLessee());
values.put("BookingRedeliveryNumber", account
.getBookingRedeliveryNumber());
values.put("SurveyorName", account.getSurveyorName());
values.put("ManufacturerName", account.getManufacturerName());
values.put("State", account.getState());
values.put("TurnInMonth", account.getTurnInMonth());
values.put("TurnInYear", account.getTurnInYear());
values.put("CscMonth", account.getCscMonth());
values.put("CscYear", account.getCscYear());
myDataBase.update(ACCOUNT_MST, values, "AccountID = "
+ account.getAccountID(), null);
updated = true;
}
return updated;
}