android更新数据库错误
我试图将数据库中的一个值false更新为true 这是我的密码android更新数据库错误,android,database,sqlite,sql-update,Android,Database,Sqlite,Sql Update,我试图将数据库中的一个值false更新为true 这是我的密码 public void updatecheck( int id){ mDb = mDbHelper.getWritableDatabase(); ContentValues newValues = new ContentValues(); newValues.put("check", true); mDb.update(channel, newValues, "id"+" = ?
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:靠近“检查”:语法错误
(代码1):,编译时:更新GenelkCulture2012集检查=?哪里
id=
已解决:
新代码
ContentValues newValues = new ContentValues();
newValues.put("tamam", true);
mDb.update(channel, newValues, "id"+" = ?", new String [] {String.valueOf(id)});
newValues.put(“检查”,true)代码>
您正在尝试存储true,这是一种布尔数据类型,SQLite不支持该数据类型。相反,您必须将它们存储在以下类型之一中:
NULL。该值为空值
整数。该值是有符号整数,根据值的大小存储在1、2、3、4、6或8字节中
真实的。该值是一个浮点值,存储为8字节IEEE浮点数
文本。该值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE或UTF-16LE)存储
水滴。该值是一组数据,与输入时完全相同
我建议将布尔成员存储为0或1。更多信息请点击此处:newValues.put(“check”,true)代码>
您正在尝试存储true,这是一种布尔数据类型,SQLite不支持该数据类型。相反,您必须将它们存储在以下类型之一中:
NULL。该值为空值
整数。该值是有符号整数,根据值的大小存储在1、2、3、4、6或8字节中
真实的。该值是一个浮点值,存储为8字节IEEE浮点数
文本。该值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE或UTF-16LE)存储
水滴。该值是一组数据,与输入时完全相同
我建议将布尔成员存储为0或1。此处的详细信息:CHECK
是SQL中的保留关键字。重命名列或在反勾号中引用它。CHECK
是SQL中的保留关键字。重命名该列或在反勾中引用它。它看起来很正常。“true”没有问题实际上你是对的,因为布尔值会产生一些问题。我已将布尔值更改为0,1,但作为文本,所以布尔值数据类型确实导致了问题?哦,什么类型的?看起来很正常。“true”没有问题实际上你是对的,因为布尔值会产生一些问题。我已将布尔值更改为0,1,但作为文本,所以布尔值数据类型确实导致了问题?哦,什么类型?