我正在尝试将数据库false中的值更新为true;
这是我的代码
public void updatecheck( int id){
mDb = mDbHelper.getWritableDatabase();
ContentValues newValues = new ContentValues();
newValues.put("check", true);
mDb.update(channel, newValues, "id"+" = ?", new String [] {String.valueOf(id)});
}
但我接受了这个错误,
02-28 15:15:37.515:E / AndroidRuntime(5539): android.database.sqlite.SQLiteException:near“check”:语法错误 (代码1):,编译时:UPDATE Genelkultur2012 SET check =?哪里 id =?
解决:
新代码
ContentValues newValues = new ContentValues();
newValues.put("tamam", true);
mDb.update(channel, newValues, "id"+" = ?", new String [] {String.valueOf(id)});
答案 0 :(得分:3)
CHECK
是SQL中的保留关键字。重命名列或在反引号中引用它。
答案 1 :(得分:1)
newValues.put("check", true);
您尝试存储 true ,这是一种布尔数据类型,SQLite不支持。您必须将它们存储在以下类型之一中:
我建议将布尔成员存储为0或1.更多信息:http://www.sqlite.org/datatype3.html