0
我做了一個服務,它從物理xml文件中檢索sql命令。如何擺脫{0}字符串參數中的單引號?
它看起來像:
<Sql>
<![CDATA[
SELECT
MAX(COMM_HIST_NO) AS COMM_HIST_NO
, MAX(COMMUTER_NO) AS COMMUTER_NO
, MAX(ARRIVED_AT_WORK) AS ARRIVED_AT_WORK
, MAX(LEFT_WORK) AS LEFT_WORK
FROM COMMUTE_HISTORY
WHERE COMMUTER_NO = {0}
AND DATEDIFF(DAY, {1}, GETDATE()) = 0
]]>
</Sql>
這裏是作爲一個字符串什麼返回SQL命令:
// arParams is an Array.
string.Format(xmlDoc.SelectSingleNode("/SVC/Sql").InnerText,arParms)
{1}將是一個列的名字,我想我的{1}參數寫成列名,沒有單引號。
具體而言,Java中的Mybatis提供${param}
和#{param}
,後者從字符串參數中刪除了單引號。
.NET必須開發此功能!
您想要使用參數化查詢。如果這是SQL Server,則可以在查詢中使用命名參數,例如'COMMUTER_NO = @ commuterNo',並使用'SqlCommand'和'SqlParameter'類使用參數執行查詢。 – Blorgbeard 2014-10-17 02:29:35
問題可能在於如何構造arParams。你能告訴我們那個代碼嗎? – 2014-10-17 02:30:06
[這是一個示例](http://stackoverflow.com/questions/7505808/using-parameters-in-sql-statements)在C#中使用SQL Server中的參數化查詢。 – Blorgbeard 2014-10-17 02:31:26