我想更新SQLite中的记录中的特定列 - 该对象具有各种属性,但我只想更新该行内的单个字段。这里是我的代码:Android SQLite,从特定行更新特定字段
public boolean updateFavorite(String email, int isFavorite){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues args = new ContentValues();
args.put(EMAIL, email);
args.put(IS_FAV, isFavorite);
int i = db.update(TABLE_FAVORITES, args, EMAIL + "=" + email, null);
return i > 0;
}
我使用的电子邮件为我的where子句,即更新从收藏夹中记录,设置isFavorite来(给定值),其中电子邮件(以值传递)。
有一个与我的查询,这是由logcat中抓住了,如下图所示
android.database.sqlite.SQLiteException: near "@sjisis": syntax error (code 1): , while compiling: UPDATE Favorites SET email=?,isFavorite=? WHERE [email protected]
谁能帮我找出什么是错我的代码,产生这个错误的问题吗?
P.S我FavoriteObject
类已经不仅仅是email
和isFavorite
等其他属性,但在这种情况下,我并不想更新它们在所有
看起来像是抱怨的电子邮件地址,也许是@。或许尝试'int i = db.update(TABLE_FAVORITES,args,EMAIL +“='”+ email +“'”,null);'ie。电子邮件地址周围的单引号.. – MikeT
是的,哈哈哈,这是一个粗心的错误。你可以把这个答案,所以我可以接受它!谢谢迈克! – user5808807