C# 如何去掉{0}字符串参数中的单引号?
我做了一个服务,它从物理xml文件中检索sql命令 它看起来像:C# 如何去掉{0}字符串参数中的单引号?,c#,sql-server,xml,tsql,ado.net,C#,Sql Server,Xml,Tsql,Ado.net,我做了一个服务,它从物理xml文件中检索sql命令 它看起来像: <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 ,
<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>
{1} 将是一个列名,我希望我的{1}参数写为列名,它没有单引号
具体来说,Java中的Mybatis提供了${param}
和{param}
,后者去掉了字符串param中的单引号
.NET一定开发了此功能 对不起,那是个简单的错误
它一开始就奏效了。如果参数周围没有单引号,
'
将不存在。您希望使用参数化查询。如果这是SQL Server,您可以在查询中使用命名参数,如communier\u NO=@communiverno
,并使用SqlCommand
和SqlParameter
类来执行带参数的查询。问题可能在于如何构造arParams。你能给我们看一下代码吗?在SQL Server中使用C#中的参数化查询。也许您可以使用QUOTENAME({1}),这将使它成为一个有效的列名。
// arParams is an Array.
string.Format(xmlDoc.SelectSingleNode("/SVC/Sql").InnerText,arParms)