spi*_*ala 21 database sqlite android
我想用android的SQLiteDatabase类的本机更新方法更新我的sql lite数据库.
ContentValues dataToInsert = new ContentValues();
dataToInsert.put("name", "flo");
dataToInsert.put("location", "flotown");
String where = "id" + "=" + id;
try{
db.update(DATABASE_TABLE, dataToInsert, where, null);
}
catch (Exception e){
String error = e.getMessage().toString();
}
Run Code Online (Sandbox Code Playgroud)
但是我得到以下错误:android.database.sqlite.SQLiteException:near"15":语法错误:,同时编译:UPDATE mytable SET location = ?, name =?WHERE id = 2010-09-21 15:05:36.995
我不知道应该是什么问题.不知何故,值不会到达sql语句.我使用insert方法做的几乎一样,并且工作得非常好.
很多,弗洛里安
The*_*uct 48
您正在使用更新功能错误.它应该是这样的:
String where = "id=?";
String[] whereArgs = new String[] {String.valueOf(id)};
db.update(DATABASE_TABLE, dataToInsert, where, whereArgs);
Run Code Online (Sandbox Code Playgroud)
whereArgs数组中的字符串替换为每个'?' 在where变量中.
即.如果你有where ="name =?AND type =?那么第一个'?' 将由whereArgs [0]替换,而第二个由whereArgs [1]替换.
| 归档时间: |
|
| 查看次数: |
54183 次 |
| 最近记录: |