Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何去掉{0}字符串参数中的单引号?_C#_Sql Server_Xml_Tsql_Ado.net - Fatal编程技术网

C# 如何去掉{0}字符串参数中的单引号?

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 ,

我做了一个服务,它从物理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
            ,   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)