首页 > 其他 > 详细

DataTable 无法转换的错误

时间:2015-09-04 12:34:11      阅读:242      评论:0      收藏:0      [点我收藏+]

目前基本上检索都已经离不开Linq了。所以最近在Linq的过程中出现了一些意外情况,特此记录下来。

先描述一下场景:

有一个查询的要求是这样的,检索出Status > 1 的数据。因为要根据其他状态也要处理,所以一次全部查询出来,再分别处理:

var tableEnumberable = Ds.Table[0].AsEnumerable();
tableEnumberable.Where(o=>o.Field<Int32>("Status") > 1)

这个一眼看上去感觉再正常不过了,而且我还专门在Sql Server模拟测试一下,一切正常。

好了。问题来了,突然有一天这个方法莫名其妙的报了一个错误:类型转换失败

然后我还在plsql 里查询了一个语句,检查了一下Status 是不是存在Null的情况,结果是没有Null的数据。

针对格式实验以后,发现针对Oracle查询出的Table 在整型转换的时候不能使用Field这个扩展方法。

修改为

tableEnumberable.Where(o=>Convert.ToInt32(o["Status"]) > 1)

终于不报错了。看来很多地方都埋着各种坑

DataTable 无法转换的错误

原文:http://www.cnblogs.com/TopSunSky/p/4781511.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!