我有一个包含汽车信息的 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 与字符串一起使用?
2 回答
元芳怎么了
TA贡献1798条经验 获得超7个赞
您需要用单引号将要检索的值引起来。
试试这个:
String selectQuery = "SELECT * FROM " +Note.TABLE_NAME+ " where " + "BRAND" + " like 'BMW'";
或者,您不需要将查询的每个单词放在各自的引号中。你可以只使用:
String selectQuery = "SELECT * FROM " +Note.TABLE_NAME+ " where BRAND like 'BMW'";
森林海
TA贡献2011条经验 获得超2个赞
对于声明:
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'
,并且代码可以正常运行。
添加回答
举报
0/150
提交
取消