在 C# 中选择子句
本文关键字:子句 选择 | 更新日期: 2023-09-27 18:30:37
我正在尝试解析一个数据集,其中有三列,分别是存储,速率和OHUNIT。 我使用 SQL 获取数据集,然后使用数据行和筛选器来选择所需的数据。
这是代码:
DataRow[] _dr = null;
string filter = "";
filter = "Store = 6 and Rate = " + row["RATE"].ToString();
_dr = ds.Tables[0].Select(filter);
if (_dr.Length > 0)
{
DSOH = Convert.ToDecimal(_dr[0]["OHUNIT"]);
TOTOH += DSOH;
}
else
DSOH = 0;
在这种情况下,速率可以是 1-5、U 或 O 之间的数字。 当我运行它时,过滤器会更新为"商店 = 6 和费率 = 3"。但是当它碰到这条线时
_dr = ds.Tables[0].Select(filter);
我收到此错误:
System.Data中发生了类型为"System.Data.EvaluateException"的异常.dll但未在用户代码中处理。无法对 System.String 和 System.Int32 执行"="操作。
基于上面的评论:
费率是字符类型
在这种情况下,错误似乎表明过滤器需要将值括起来,就像任何 SQL 过滤器子句一样:
filter = "Store = 6 and Rate = '" + row["RATE"].ToString() + "'";