0

我在 sqlserver 中进行了此查询,当我放入项目时,第一行显示为绿色,标题中有该错误,在第三行之后,它似乎不再在 SelectCommand 中,因为它是红色字母。我认为这是关于 < 或者可能是 ''。我该如何解决?谢谢

<asp:SqlDataSource ID="ds_order" runat="server" CancelSelectOnNullParameter="false"
                        ConnectionString="myconnection"
                        SelectCommand=
                        "SELECT SUM(Total) as Totais, DateCreated, 
                         CASE 
                             WHEN DAY(DateCreated) <=15 THEN CAST(YEAR(DateCreated) AS VARCHAR) + '-' + CAST(MONTH(DateCreated) AS VARCHAR) + '-1' 
                             ELSE CAST(YEAR(DateCreated) AS VARCHAR) + '-' + CAST(MONTH(DateCreated) AS VARCHAR) + '-16' 
                         END AS Month              
                         FROM Orders
                         WHERE ReferenceID = @refid 
                         GROUP BY DateCreated" ProviderName="System.Data.SqlClient">
        <SelectParameters>
            <asp:ControlParameter ControlID="ddl_ref_type" Name="refid" />
        </SelectParameters>
        </asp:SqlDataSource>
4

1 回答 1

2

您需要用 XML 实体引用替换查询中的单引号和小于&quot;&lt;以便 XML 格式正确:

<asp:SqlDataSource ID="ds_order" runat="server" CancelSelectOnNullParameter="false"
                        ConnectionString="myconnection"
                        SelectCommand=
                        "SELECT SUM(Total) as Totais, DateCreated, 
                         CASE 
                             WHEN DAY(DateCreated) &lt;=15 THEN CAST(YEAR(DateCreated) AS VARCHAR) + &quot;-&quot; + CAST(MONTH(DateCreated) AS VARCHAR) + &quot;-1&quot; 
                             ELSE CAST(YEAR(DateCreated) AS VARCHAR) + &quot;-&quot; + CAST(MONTH(DateCreated) AS VARCHAR) + &quot;-16&quot; 
                         END AS Month              
                         FROM Orders
                         WHERE ReferenceID = @refid 
                         GROUP BY DateCreated" ProviderName="System.Data.SqlClient">
        <SelectParameters>
            <asp:ControlParameter ControlID="ddl_ref_type" Name="refid" />
        </SelectParameters>
</asp:SqlDataSource>
于 2018-08-15T11:03:51.653 回答