SQLiteOpenHelper多记录更新

时间:2013-11-19 18:20:15

标签: android sql sqlite sqliteopenhelper

在我的android应用程序中,我使用Sqliteopenhelper来操作sqlite数据库。对于满足特定条件的所有记录,我需要更新表中的字段(f1)和另一个字段(f2)的一部分。哪个标准sql可以写成

update table1 set f1=substr(f2,1,length(f2)-3) where f1 like 'xxx%';

不确定如何在sqliteopenhelper中执行此操作。 感谢

1 个答案:

答案 0 :(得分:1)

Android的update类的SQLiteDatabase方法要求您使用ContentValues,它仅支持文字值,而不支持任意SQL表达式。

只需使用execSQL

db.execSQL("UPDATE table1 SET f1=substr(f2,1,length(f2)-3) WHERE f1 like ? || '%'",
           new Object[] { "xxx" });