码迷,mamicode.com
首页 > 其他好文 > 详细

DataTable 无法转换的错误

时间:2015-09-04 12:36:30      阅读:122      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!