使用filter过滤掉DataTable中字段aa为空值的行怎么做?

时间:2022-11-23 22:33:52
各位高手,一个简单问题:
我有一个计算字段,但是计算时遇到空值就报错,请问怎么使用filter将空值行过滤掉?
如:Tables["b"].compute("sum(money)",filter);

怎么办?谢谢先.

7 个解决方案

#1


查询的时候

oracle:
nvl(money,0);

sqlserver:
isnull(money,0);

或者绑定的时候转化

#2


学习,帮你顶啦
感觉要判断先,为空就不计算吧

#3


not money is null

#4


可是我这样子写:
Tables["b"].compute("sum(money)","aa='kk' and money is not null");
或者
Tables["b"].compute("sum(IsNull(money,0))","aa='kk'");

都不行啊........














#5


难道就这样沉了?

#6


如果你是在查询的时候呢,可以在查询的时候过滤,
如果你已经把数据提出出来了,
可以利用DataView.select(condition)或者dataview.filer(condition)
来做。

#7


dt.Select(string.Format("AQID <> null"))
也可以用
DataView的dv.RowFilter = string.Format("AQID <> null")

#1


查询的时候

oracle:
nvl(money,0);

sqlserver:
isnull(money,0);

或者绑定的时候转化

#2


学习,帮你顶啦
感觉要判断先,为空就不计算吧

#3


not money is null

#4


可是我这样子写:
Tables["b"].compute("sum(money)","aa='kk' and money is not null");
或者
Tables["b"].compute("sum(IsNull(money,0))","aa='kk'");

都不行啊........














#5


难道就这样沉了?

#6


如果你是在查询的时候呢,可以在查询的时候过滤,
如果你已经把数据提出出来了,
可以利用DataView.select(condition)或者dataview.filer(condition)
来做。

#7


dt.Select(string.Format("AQID <> null"))
也可以用
DataView的dv.RowFilter = string.Format("AQID <> null")