目前基本上检索都已经离不开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 无法转换的错误的更多相关文章

  1. C# 将DataTable数据源转换成实体类

    using System; using System.Collections.Generic; using System.Data; using System.Reflection; /// < ...

  2. XML 与 DataSet/DataTable 互相转换实例(C#)——转载

    // <summary>      /// XML形式的字符串.XML文江转换成DataSet.DataTable格式      /// </summary>      pub ...

  3. DataTable行列转换

    #region DataTable行列转换 /// <summary> /// DataTable行列转换 /// </summary> /// <param name= ...

  4. springmvc使用jQuery.datatable时遇到的错误

    springmvc使用jQuery.datatable时遇到的错误 1正确时返回 josn结果: {,,,,,,,,,,,,,,,,"} 页面显示处理中(processing),列表空白,其 ...

  5. 实体类和DataTable的转换

    引子 最近在项目中在数据库查询的时间,总是要用到数据表到实体类对象列表的转化,自己封装了一个转换的方法,用起来还比较方便,记下来,以后可以重复使用,原理就主要是利用反射,当然有更好的ORM框架可以实现 ...

  6. DataRow[]与DataTable的转换代码【精炼】

    Day_20170106 代码记录 //DataTable查询出DataRow[] DataRow[] drs = AllSysModuleDs.Tables[].Select(string.Form ...

  7. datatable 行列转换

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. 【转】Linq实现DataTable行列转换

    出处:http://www.cnblogs.com/li-peng/ 转换前的table: 转换后的table: 代码里有详细的说明, 还有一些参数我都截图了下面有 using System;usin ...

  9. Bitter.Core系列六:Bitter ORM NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 之 示例 DataTable 模型转换

    当我们查询之前,我们先构造一个查询对象的输出DTO.如下图代码: public class TScoreSearchDto { /// <summary> /// 分数 /// </ ...

随机推荐

  1. Mysql查找如何判断字段是否包含某个字符串

    Mysql查找如何判断字段是否包含某个字符串   有这样一个需求,在Mysql数据库字符串字段(权限)中,用户有多个不同的邮箱,分别被‘,’分开,现在要取出某个邮箱的所有成员列表.   假设有个表: ...

  2. 在code.org上自己写一个flappy bird游戏

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:在code.org上自己写一个flappy bird游戏.

  3. Android-Unable to resolve target 'android-8'

  4. Context

    Context,中文直译为“上下文”,SDK中对其说明如下: Interface to global information about an application environment. Thi ...

  5. servlet和手动创建servlet,断点调试

    1.    什么是Servlet Servlet是一种用Java语言编写的Web应用组件 Servlet主要用于动态网页输出,扩展了Web服务器的功能 Servlet由Servlet容器进行管理 2. ...

  6. VC++ 响应回车键的2种方法

    众所周知,VC++响应回车键经常用的方法是利用 BOOL PreTranslateMessage(MSG* pMsg) 截取回车键消息,如: if (pMsg->message == WM_KE ...

  7. 字符串反转实现(C++)

    字符串反转 C++实现,不使用系统函数: // ReverseString.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include ...

  8. SQL给字段加上统一的某个字符

    表名:News  字段名:No_id Update News set No_id='字符'+No_id

  9. JavaScript的DOM操作(二)

    一:window.history对象 历史记录,通过历史记录可以操作页面前进或者后退 window.history.back();后退 window.history.forward();前进 wind ...

  10. like的性能问题

    使用like'%匹配的文字%',无法优化,因为索引起不到作用. 不过like'匹配的文字%',索引起作用.