-1

我有一个包含汽车信息的 SQLite 数据库。我想销售带有 BMW 品牌的汽车。我有这样的声明:

String selectQuery = "SELECT  * FROM " +Note.TABLE_NAME+ " where " + "BRAND" + " like "+ "BMW";

应用程序崩溃和日志显示:

no such column: BMW (code 1): , while compiling: SELECT  * FROM adds where BRAND like BMW

当我使用这个应用程序工作时:

 String selectQuery = "SELECT  * FROM " +Note.TABLE_NAME+ " where " + "AGE" + " like "+ "10";

之后我如何将 Like 与字符串一起使用?

4

2 回答 2

1

您需要用单引号将要检索的值括起来。

试试这个:

String selectQuery = "SELECT * FROM " +Note.TABLE_NAME+ " where " + "BRAND" + " like 'BMW'";

或者,您不需要将查询的每个单词放在各自的引号中。你可以只使用:

String selectQuery = "SELECT * FROM " +Note.TABLE_NAME+ " where BRAND like 'BMW'";

于 2019-09-16T17:29:03.813 回答
0

对于声明:

SELECT  * FROM tablename where BRAND like BMW

SQLite 将BMW其视为列名(当然不存在),因此代码失败。
它应该是:

SELECT  * FROM tablename where BRAND like 'BMW'

但是对于声明:

SELECT  * FROM tablename where AGE like 10

SQLite 不将其视为10列名,因为它是隐式转换为TEXT:的文字值,'10'并且代码可以正常工作。

于 2019-09-16T17:24:16.520 回答