Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android SQLite查询中使用WHERE子句中的字符串_Android_Android Sqlite - Fatal编程技术网

在Android SQLite查询中使用WHERE子句中的字符串

在Android SQLite查询中使用WHERE子句中的字符串,android,android-sqlite,Android,Android Sqlite,我在SQLite更新查询中使用字符串时遇到问题 此代码不起作用 database.update(MySQLiteHelper.TABLE_NAME, values, MySQLiteHelper.COLUMN_TASKNAME + " = " + strName, null); 这里strName是一个字符串 但是这个代码很好用 database.update(MySQLiteHelper.TABLE_NAME, values, MySQLiteHelper.COLUMN_ID + " =

我在SQLite更新查询中使用字符串时遇到问题

此代码不起作用

 database.update(MySQLiteHelper.TABLE_NAME, values, MySQLiteHelper.COLUMN_TASKNAME + " = " + strName, null);
这里strName是一个字符串

但是这个代码很好用

database.update(MySQLiteHelper.TABLE_NAME, values, MySQLiteHelper.COLUMN_ID + " = " +  id , null);
这里id是一个整数


他们之间有什么区别

这样做时,需要在字符串周围添加引号:

database.update(MySQLiteHelper.TABLE_NAME, values, MySQLiteHelper.COLUMN_TASKNAME + " = \"" + strName + "\"", null);
但您可能真的应该研究参数化查询(使用
selectionArgs
,如下所示:

database.update(MySQLiteHelper.TABLE_NAME, values, MySQLiteHelper.COLUMN_TASKNAME + " = ?", new String[] { strName })

这将使您的数据库更安全。

您能解释一下为什么我应该在字符串周围添加引号吗?+始终使用concate string,对于integer,它可以很好地工作引号是sql lite数据库如何识别它是字符串的。整数可以从字面上理解。阅读sql,它应该在queriesHello,我是尝试使用字符串whereClause=KEY\u FIELD\u CODE+“=?”字符串wherergs[]={“123456”}之类的参数进行更新,但是没有任何效果,只更新0行,即使与字段匹配的行存在。但是,当我像这样设置update语句时,结果会发生变化:字符串whereClause=KEY\u FIELD\u CODE+“=123456”String wherergs[]=null是否有人知道为什么或在什么情况下我们如何处理。最重要的是如何解决。注意:在这个表中,我特别使用FTS3 para实现程序全文搜索..谢谢