2017-03-18 93 views
1

我有以下的SQLite聲明:SQLite的選擇... Where語句 「沒有這樣的列」 錯誤

"SELECT * FROM HISTORICALPICKS WHERE BETTYPE = " + betType.ToString().ToUpper() + " ORDER BY DATETIME ASC" 

而且betType.ToString()ToUpper的()是字符串 「ATS」

出於某種原因,我收到以下錯誤:

System.Data.SQLite.SQLiteException : SQL logic error or missing database 
no such column: ATS 

......這讓我感到莫名其妙。 ATS不是專欄。 BETTYPE是專欄。我希望它選擇BETTYPE列中具有「ATS」的行。

我的預感是語法問題。下面是該表名和列名,與價值ATS的亮點沿着一個畫面:

enter image description here

回答

2

您需要在值單引號。

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