我收到语法错误“在'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)
答案 0 :(得分:1)
我相当确定异常是由列名中的空格引起的。
您应该将名称括在括号中或删除空格:
.Expression = "[ADR Price] - ([ORD Price] * [Currency Price])"
但接下来可能会走进这个陷阱。所以在我看来,删除会更好:
.Expression = "ADR_Price - (ORD_Price * Currency_Price)"
答案 1 :(得分:0)
此错误是由于值(')中的撇号而产生的。检查价格值是否包含任何撇号,如果它包含任何撇号,只需加倍。
请参阅此链接:http://aspnetresources.com/blog/apostrophe_in_rowfilter