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