幕布斯6054654
2023-08-04 16:41:35
我有一個包含汽車信息的 SQLite 數(shù)據(jù)庫。我想出售 BMW 品牌的汽車。我有這樣的聲明:String selectQuery = "SELECT * FROM " +Note.TABLE_NAME+ " where " + "BRAND" + " like "+ "BMW";應(yīng)用程序崩潰并日志顯示:no such column: BMW (code 1): , while compiling: SELECT * FROM adds where BRAND like BMW當(dāng)我使用這個應(yīng)用程序時,該應(yīng)用程序可以運(yùn)行: String selectQuery = "SELECT * FROM " +Note.TABLE_NAME+ " where " + "AGE" + " like "+ "10";之后如何將 Like 與字符串一起使用?
2 回答

元芳怎么了
TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個贊
您需要用單引號將要檢索的值引起來。
試試這個:
String selectQuery = "SELECT * FROM " +Note.TABLE_NAME+ " where " + "BRAND" + " like 'BMW'";
或者,您不需要將查詢的每個單詞放在各自的引號中。你可以只使用:
String selectQuery = "SELECT * FROM " +Note.TABLE_NAME+ " where BRAND like 'BMW'";

森林海
TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個贊
對于聲明:
SELECT * FROM tablename where BRAND like BMW
SQLite 將其視為BMW
列名(當(dāng)然不存在),因此代碼失敗。
它應(yīng)該是:
SELECT * FROM tablename where BRAND like 'BMW'
但對于聲明:
SELECT * FROM tablename where AGE like 10
SQLite 不將其視為10
列名,因?yàn)樗请[式轉(zhuǎn)換為TEXT
:的文字值'10'
,并且代碼可以正常運(yùn)行。
添加回答
舉報(bào)
0/150
提交
取消