关于DataTable的Compute函数的计算结果的null值处理
来源:互联网 发布:丁磊 马化腾 知乎 编辑:程序博客网 时间:2024/06/05 11:19
使用DataTable的Compute函数时,如果没有符合条件的数据,将返回null值, 如果是多条结果的数据不处理null值,将得不到正确的结果,无法绑定到gridview 中,旧代码如下:
//计算父节点的数量
DataRow[] rows = null;
rows = dt.Select("Convert(PARENTID, 'System.String') = '-1'");
// 循环赋值
foreach (DataRow row in rows)
{
dt.Rows[dt.Rows.IndexOf(row)][1] = System.Convert.ToDecimal(dt.Compute("sum(sl)", "PARENTID=" + row["DirID"]));
}
如果dt.Compute("sum(sl)", "PARENTID=" + row["DirID"])存在没有符合条件的数据,则 System.Convert.ToDecimal(dt.Compute("sum(sl)", "PARENTID=" + row["DirID"]))转换将失败,导致无法绑定时gridview,故改进后的代码如下:
//计算父节点的数量
DataRow[] rows = null;
rows = dt.Select("Convert(PARENTID, 'System.String') = '-1'");
// 循环赋值
foreach (DataRow row in rows)
{
if (dt.Compute("sum(sl)", "PARENTID=" + row["DirID"] ) != DBNull.Value)
{
dt.Rows[dt.Rows.IndexOf(row)][1] = System.Convert.ToDecimal(dt.Compute("sum(sl)", "PARENTID=" + row["DirID"]));
}
else
{
dt.Rows[dt.Rows.IndexOf(row)][1] =0;
}
}
这样就可以正常绑定到gridview了
- 关于DataTable的Compute函数的计算结果的null值处理
- DataTable.Compute的用法
- DataTable.Compute强大的功能
- DataTable.Compute强大的功能
- DataTable.Compute强大的功能
- C# 动态计算表达式的值--动态编译和DataTable.Compute()
- DataTable.Compute强大的功能(转)
- DataTable.Compute的巨大功能 【转】
- DataTable的Compute方法和Expression语法
- 计算分段函数的结果
- ibaitis 关于处理null值的方法
- count()函数对null值的处理
- DataTable中数据记录的统计-- Compute的强大
- Oracle 关于null的函数
- mondrian 对计算结果 Infinity 的处理
- 关于oracle采用pivot函数列转行后一些列的值为null处理
- DataTable用中使用Compute 实现简单的DataTable数据的统计.....
- DataTable用中使用Compute 实现简单的DataTable数据的统计
- Gomez中国热门网站用户体验排行榜
- js 类的写法 js 中文函数
- log4net简易配置--
- 网站与第三方合作中的SLA管理
- Java-man----I’m waiting here for you!........2007/11
- 关于DataTable的Compute函数的计算结果的null值处理
- linux内核裁剪的具体过程和方法
- JS 复选框 操作JS
- [软件人生]写书与程序员
- arm linux内核配置
- Gomez中国视频网站用户体验排行榜 2007年9月1日 - 2007年10月1日
- Linux下更改文件关联方式
- GridView 中如何把长日期转换成短日期
- C#托管Socket的实现方法(1)