【问题标题】:datatable column expression error数据表列表达式错误
【发布时间】:2012-02-07 10:16:25
【问题描述】:

我收到语法错误“'Price' 运算符后缺少操作数”,代码如下,这应该是正确的,但显然不是。关于错误在哪里的任何想法?

    table.Columns.Add("ADR Price", GetType(Double))
    table.Columns.Add("ORD Price", GetType(Double))
    table.Columns.Add("Currency Price", GetType(Double))
    Dim cDiff As DataColumn = New DataColumn
    With cDiff
        .DataType = System.Type.GetType("System.Double")
        .ColumnName = "Difference"
        .Expression = "ADR Price - (ORD Price * Currency Price)"
    End With
    table.Columns.Add(cDiff)

【问题讨论】:

    标签: vb.net datatable


    【解决方案1】:

    相当确定异常是由列名中的空格引起的。

    您应该将名称括在括号中或删除空格:

    .Expression = "[ADR Price] - ([ORD Price] * [Currency Price])"
    

    但接下来可能会走进这个陷阱。所以我认为删除会更好:

    .Expression = "ADR_Price - (ORD_Price * Currency_Price)"
    

    【讨论】:

      【解决方案2】:

      出现此错误是因为值 ( ' ) 中的撇号。检查价格值是否包含撇号,如果包含撇号,则将其加倍。

      查看此链接:http://aspnetresources.com/blog/apostrophe_in_rowfilter

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-02
        • 1970-01-01
        • 2018-11-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多