【问题标题】:How to use an Iif Statement in an Expression如何在表达式中使用 Iif 语句
【发布时间】:2015-06-03 13:07:57
【问题描述】:

我在c#中有这行代码 我不断收到此错误=> 语法错误:在“&”运算符之前缺少操作数。

下面是我的代码

ds.Tables[0].Columns.Add("RESULTS").Expression = "Iif(((ActualWeight >= (.96 * TargetWeight)) && (ActualWeight <= (1.04 * TargetWeight))),[GOOD] )";

【问题讨论】:

  • 你确定是那行代码吗?并发布更多代码。什么是表达?是字符串吗,表达式?
  • iif equivalent in c#的可能重复
  • 是的@Alex,我用过但不知道它在 c# 中无效,在 c# 模式下可以做些什么来调整它

标签: c#


【解决方案1】:

DataTable Expressions 更像 VB 而不是 C#。 And 不支持的 && 是:

ds.Tables[0]
  .Columns
  .Add("RESULTS")
  .Expression = "Iif(((ActualWeight >= (.96 * TargetWeight)) And (ActualWeight <= (1.04 * TargetWeight))),[GOOD],null)"; 

请注意,我还添加了一个false 条件来完成表达式。

【讨论】:

  • 嗨,斯坦利,我收到语法错误:参数数量无效:函数 Iif()。
  • @Sheldon 你是不是加了假表达式(第三个参数)?
  • @Sheldon 看看我的例子的结尾。
【解决方案2】:

您缺少表达式的false 部分以及Iif 在语法上不正确。所以尝试这样的事情

ds.Tables[0].Columns.Add("RESULTS").Expression = "IIF(((ActualWeight >= (.96 * TargetWeight)) And (ActualWeight <= (1.04 * TargetWeight))),[GOOD], [BAD])"

【讨论】:

  • 嗨 @Sachin 我得到了 =>语法错误:在 '&' 运算符之前缺少操作数。
  • 谢谢@Sachin 你们都很棒
猜你喜欢
  • 1970-01-01
  • 2019-01-29
  • 1970-01-01
  • 1970-01-01
  • 2014-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-03
相关资源
最近更新 更多