我需要更新某个表中的列中的值.我试过这个:
public void updateOneColumn(String TABLE_NAME, String Column, String rowId, String ColumnName, String newValue){
String sql = "UPDATE "+TABLE_NAME +" SET " + ColumnName+ " = "+newValue+" WHERE "+Column+ " = "+rowId;
db.beginTransaction();
SQLiteStatement stmt = db.compileStatement(sql);
try{
stmt.execute();
db.setTransactionSuccessful();
}finally{
db.endTransaction();
}
}
Run Code Online (Sandbox Code Playgroud)
我这样称呼这个方法:
db.updateOneColumn("roadmap", "id_roadmap",id,"sys_roadmap_status_mobile_id", "1");
Run Code Online (Sandbox Code Playgroud)
这意味着我要设置的值1列sys_roadmap_status_mobile_id时id_roadmap = id.
问题是没有任何反应.我的错误在哪里?
War*_*ith 33
简易解决方案
String sql = "UPDATE "+TABLE_NAME +" SET " + ColumnName+ " = '"+newValue+"' WHERE "+Column+ " = "+rowId;
Run Code Online (Sandbox Code Playgroud)
更好的方案:
ContentValues cv = new ContentValues();
cv.put(ColumnName, newValue);
db.update(TABLE_NAME, cv, Column + "= ?", new String[] {rowId});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25480 次 |
| 最近记录: |