无法解释令牌“!”在位置5

时间:2018-10-04 06:26:29

标签: c#

我有一个名为“ Jul”的列,其中包含一些值,例如“ 123”和“-”。我试图通过添加值并忽略“-”来获取列的总和。我尝试过:

st.x *= iResolution.x/iResolution.y;

但是我遇到错误:object julysum; julysum = Convert.ToDouble(FormattedPurchaseSummaryTable.Compute("SUM(Jul)", "Jul != '-'")); 我该如何解决此错误?

2 个答案:

答案 0 :(得分:3)

没有!=运算符。

您可能想要<>

请在此处阅读有关可用的运算符的更多信息:https://docs.microsoft.com/en-us/dotnet/api/system.data.datacolumn.expression?redirectedfrom=MSDN&view=netframework-4.7.2#operators

答案 1 :(得分:1)

Blam's answer已经为您指明了表达语言。解决了第一个问题之后,我们需要解决第二个问题,即Jul是一个字符串,而不是整数(或浮点数,等等)。因此,我们也需要对其进行转换。

但是,我认为Compute不会支持SUM中的复杂表达式来执行CONVERT

所以我认为您需要做的是添加一个新的DataColumn,其表达式如下:

IIF(Jul != '-',CONVERT(Jul,'System.Int32'),0)

然后在这个新列上计算SUM