【问题标题】:Character constant must contain exactly one character字符常量必须只包含一个字符
【发布时间】:2014-03-17 15:05:03
【问题描述】:

当您收到此错误“字符常量必须只包含一个字符

我有这段代码,但它在我的 LinqDataSource 中不断给我上述错误:

 <asp:LinqDataSource ID="LinqViewLogs" runat="server" 
    ContextTypeName="ScanFakDataContext" OrderBy="Dato desc" 
    TableName="ViewLogs" 
        Where="(@Filter='' OR (@Filter='UserNotes' AND LogType=1)">
     <WhereParameters>
         <asp:QueryStringParameter DbType="String" DefaultValue="" Name="Filter" QueryStringField="Filter" />
     </WhereParameters>
</asp:LinqDataSource>

【问题讨论】:

    标签: asp.net vb.net linq linqdatasource


    【解决方案1】:

    问题在于颠倒引号,所以""'',而''""

    这是正确的代码:

     <asp:LinqDataSource ID="LinqViewLogs" runat="server" 
        ContextTypeName="ScanFakDataContext" OrderBy="Dato desc" 
        TableName="ViewLogs" 
            Where='(@Filter="" OR (@Filter="UserNotes" AND LogType=1)'>
         <WhereParameters>
             <asp:QueryStringParameter DbType="String" DefaultValue="" Name="Filter" QueryStringField="Filter" />
         </WhereParameters>
    </asp:LinqDataSource>
    

    【讨论】:

    • 我在商业智能(报告服务)中遇到了这个错误,我没有在双引号字符串中使用单引号,但是搜索了一段时间后,您的回答让我明白了该列的表达式之一在我的报告中使用了几个额外的",这导致了错误。我删除了它们,错误消失了。谢谢! (顺便说一句,您可以接受自己的答案)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    相关资源
    最近更新 更多