該命令在我的C#程序中一直拋出異常,但似乎在SQL查詢構建器中正常工作。SqlCeCommand引發異常
using (SqlCeCommand cf = new SqlCeCommand("SELECT Lname FROM stats WHERE
(score = (SELECT MAX(score) FROM stats))", cn))
解析查詢時出錯。
令牌行號= 1,令牌行偏移= 41,令牌錯誤=選擇
該命令在我的C#程序中一直拋出異常,但似乎在SQL查詢構建器中正常工作。SqlCeCommand引發異常
using (SqlCeCommand cf = new SqlCeCommand("SELECT Lname FROM stats WHERE
(score = (SELECT MAX(score) FROM stats))", cn))
解析查詢時出錯。
令牌行號= 1,令牌行偏移= 41,令牌錯誤=選擇
請試試吧
using (SqlCeCommand cf = new SqlCeCommand("SELECT Lname FROM stats WHERE
score IN (SELECT MAX(score) FROM stats)", cn))
這將工作,雖然可能值得添加一個解釋,爲什麼,沒有解釋的答案根本沒有什麼用處(因此沒有upvote呢) - SQL Server CE不會解析返回標量值的子查詢,沒有問題當子查詢返回一個集合(或者被解析爲可以返回集合,即使用'IN'而不是'=') – GarethD
LEGEND !!!謝謝 –
感謝您的解釋Gareth :) –
我不認爲SqlCeCommand支持這種子查詢。
在使用Management Studio進行測試時,您是針對Compact Edition運行時運行的,還是服務器版本?由於服務器版本中提供了許多功能,但在精簡版中只有一個子集可用。
您使用哪個sql數據庫? – semao
SqlCeCommand支持這種子查詢嗎? – scheien
「,但似乎在SQL查詢構建器上正常工作。」 - 但你是否在對抗CE呢? –