這就是我試圖&失敗:如何使用IN sql關鍵字建立參數化查詢?
string sql = "... WHERE [personID] IN (@sqlIn) ...";
string sqlIn = "1,2,3,4,5";
SqlCeCommand cmd.Parameters.Add("@sqlIn", SqlDbType.NText).Value = sqlIn;
SqlCeDataAdapter da = new SqlCeDataAdapter(cmd);
da.Fill(ds); // > Error
錯誤的詳細信息:
的ntext和image數據類型不能使用WHERE,HAVING,GROUP BY,打開,或IN子句時除外這些數據類型與LIKE或IS NULL謂詞一起使用。
無法將所有ID作爲一個參數傳遞嗎?我應該一個一個添加所有的ID嗎?
P.S:Notice SqlCE
清理你的例子也有什麼sqlIn – MethodMan 2011-12-27 15:49:53
的代碼實際上是比較PERSONID到的「1,2,3,4,5」整個字符串,而不是反對用逗號分隔每個項目的價值。 – 2011-12-27 15:53:09