DataTable 无法转换的错误

目前基本上检索都已经离不开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)

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

时间: 2024-10-12 15:58:45

DataTable 无法转换的错误的相关文章

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

1 using System; 2 using System.Collections.Generic; 3 using System.Data; 4 using System.Reflection; 5 6 /// <summary> 7 /// 将DataTable数据源转换成实体类 8 /// </summary> 9 /// <typeparam name="T">实体</typeparam> 10 public static cl

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

// <summary>      /// XML形式的字符串.XML文江转换成DataSet.DataTable格式      /// </summary>      public class XmlToData      {          /**//// <summary>          /// 将Xml内容字符串转换成DataSet对象          /// </summary>          /// <param name=&q

实体类和DataTable的转换

引子 最近在项目中在数据库查询的时间,总是要用到数据表到实体类对象列表的转化,自己封装了一个转换的方法,用起来还比较方便,记下来,以后可以重复使用,原理就主要是利用反射,当然有更好的ORM框架可以实现,主要的原因就是我这里没有用orm. 实现 话不多少,直接上实现代码 /// <summary> /// 数据表转换类 /// </summary> /// <typeparam name="T"></typeparam> public cl

list&lt;T&gt;与datatable互相转换

public static class DataTableExtensions { /// <summary> /// 转化一个DataTable /// </summary> /// <typeparam name="T"></typeparam> /// <param name="list"></param> /// <returns></returns> publi

datatable 行列转换

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { DataTable dt = GetDt(); DataTable

dataTable/dataSet转换成Json格式

using System.Text;using System.Collections.Generic; public static string DataTable2Json(DataTable dt) { StringBuilder jsonBuilder = new StringBuilder(); jsonBuilder.Append("{\""); jsonBuilder.Append(dt.TableName.ToString()); jsonBuilder.App

DataTable,DataGridVIew转换到xls 方法 (转)

private void dataTableToCsv(DataTable table, string file) { string title = ""; FileStream fs = new FileStream(file, FileMode.OpenOrCreate); //FileStream fs1 = File.Open(file, FileMode.Open, FileAccess.Read); StreamWriter sw = new StreamWriter(ne

【Flask】 python学习第一章 - 3.0 正则转换和错误捕捉

3.1正则转换器定义 Class RegexConverter(BaseConverter): regex = "[0-9]{6}" app.url_map.converters["re"] = RegexConverter @app.route("/user/<re:user_id>") def index(): return "hello wolrd" from flask import Flask from

DataTable 基本转换简单实例

var query = from dt in tblProduct.AsEnumerable() where dt.Field<string>("StockNo") =="" select dt; if (query.ToList().Count > 0) { Alert.ShowInTop("数据不全,仓库不能为空"); return; }