cnjack 2025-02-21 17:08 采纳率: 50%
浏览 6
已结题

Tables.Select中“字段的值中有转义字符”,加了@也引起错误

string tmpFilter=@"Order_Destination='KOHL'S' and isnull(Order_DestinationAbbreviation,'')<>''”;
DataRow[] tmpRows = this.myDataSet.Tables[this.myDataMember].Select(@tmpFilter);//此处加不加@,都出错误。

img

  • 写回答

3条回答 默认 最新

  • 阿里嘎多学长 2025-02-21 17:08
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    问题解答

    你遇到了一个问题,在使用 Tables.Select 方法时,字符串中包含转义字符,添加了 @ 符号也会引起错误。

    解决方案是使用 @ 符号来表示字符串中的转义字符,可以使用以下方法:

    string tmpFilter = "Order_Destination='KOHL''S' and isnull(Order_DestinationAbbreviation,'')<>''";
    

    在上面的代码中,我们使用了两个单引号来表示字符串中的单引号,这样可以避免转义字符的问题。

    另外,如果你想使用 verbatim string literal(即使用 @ 符号),你可以使用以下方法:

    string tmpFilter = @"Order_Destination='KOHL''S' and isnull(Order_DestinationAbbreviation,'')<>''";
    

    在上面的代码中,我们使用了 @ 符号来表示字符串,但是由于字符串中包含转义字符,所以我们需要使用两个单引号来表示字符串中的单引号。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月4日
  • 已采纳回答 2月24日
  • 创建了问题 2月21日