当前位置:  开发笔记 > 数据库 > 正文

使用ContentValues和update-method更新sql数据库

如何解决《使用ContentValues和update-method更新sql数据库》经验,为你挑选了1个好方法。

我想用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();
}

但是我得到以下错误:android.database.sqlite.SQLiteException:near"15":语法错误:,同时编译:UPDATE mytable SET location = ?, name =?WHERE id = 2010-09-21 15:05:36.995

我不知道应该是什么问题.不知何故,值不会到达sql语句.我使用insert方法做的几乎一样,并且工作得非常好.

很多,弗洛里安



1> TheContstruc..:

您正在使用更新功能错误.它应该是这样的:

String where = "id=?";
String[] whereArgs = new String[] {String.valueOf(id)};

db.update(DATABASE_TABLE, dataToInsert, where, whereArgs);

whereArgs数组中的字符串替换为每个'?' 在where变量中.

即.如果你有where ="name =?AND type =?那么第一个'?' 将由whereArgs [0]替换,而第二个由whereArgs [1]替换.

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有