有没有一种简单的方法来更新android中sqlite中的表?(就像建造方法中的单行)?我有一个几列的表,主列是一列.我想通过主键搜索,然后更新表中的行.
waq*_*lam 13
要使用android的预定义更新方法,请使用如下:
ContentValues args = new ContentValues();
args.put("col_name", "new value");
db.update("table_name", args, String.format("%s = ?", "primary_column"),
new String[]{"primary_id"});
Run Code Online (Sandbox Code Playgroud)
或者作为单行运行,请使用此(不推荐):
db.execSQL("UPDATE table_name SET col_name='new_value' WHERE
primary_column='primary_id'");
Run Code Online (Sandbox Code Playgroud)
你应该得到这样的东西:
affected = db.update(TABLE_NAME, values, where, whereArgs);
UDPATE
不惜一切代价避免使用容易出错的语法进行原始查询.我在这里看到很多答案,这些答案使用了很多'"' + SOMETHING + "'"......这是非常糟糕的做法,你会把所有的时间花在寻找难以找到的地方的错误上,或者只是完全浪费时间.
如果必须使用原始查询,请尝试使用String.format形成它们,以避免危险的调试会话和偏头痛.
rawQuery你可以这样使用:
cur = mDb.rawQuery("update " + TABLE_NAME
+ " set column1=mango where id='" + _id + "'",null);
Run Code Online (Sandbox Code Playgroud)
在哪里
cur是Cursor对象TABLE_NAME是NAME OF THE TABLE_id是name of the column(仅示例)| 归档时间: |
|
| 查看次数: |
22108 次 |
| 最近记录: |