SQLite Select...Where 语句“没有这样的列”错误

sap*_*ket 1 sqlite

我有以下 SQLite 语句:

"SELECT * FROM HISTORICALPICKS WHERE BETTYPE = " + betType.ToString().ToUpper() + " ORDER BY DATETIME ASC"
Run Code Online (Sandbox Code Playgroud)

而 betType.ToString().ToUpper() 是字符串“ATS”

出于某种原因,我收到以下错误:

System.Data.SQLite.SQLiteException : SQL logic error or missing database
no such column: ATS
Run Code Online (Sandbox Code Playgroud)

……这让我很困惑。ATS 不是列。BETTYPE 是列。我希望它选择在 BETTYPE 列中具有“ATS”的行。

我的预感是语法有问题。这是一张显示表名和列名的图片,以及值 ATS 的突出显示:

在此处输入图片说明

Ken*_*ite 5

您需要在值周围使用单引号。

"SELECT * FROM HISTORICALPICKS WHERE BETTYPE = '" + betType.ToString().ToUpper() + "' ORDER BY DATETIME ASC"
Run Code Online (Sandbox Code Playgroud)