2 a6613907 a6613907 于 2014.12.09 10:11 提问

c#中用linq查询datatable的问题

之前用datetable的select方法来查询,发现这个方法非常诡异,有时候会查询到一些不对的结果。所以就想换过用linq来查。但用了一会出现了一个问题。就是我希望以数据表中的一个以时间格式的字段(如:2014-9-17 23:59:17)进行查询时,用Field转换这个字段的数据发现转换不了,系统报错了。。请问应该怎么解救这个问题啊?

3个回答

caozhy
caozhy   Ds   Rxr 2014.12.09 10:25

.Cast().Where(x => DateTime.Parse(x["字段"].ToString()))

q107770540
q107770540   Ds   Rxr 2014.12.09 10:50

var query=dt.AsEnumerable().Where(t=>t.Field<DateTime?>("time").hasValue)

至少帖出些数据来看看吧

xianfajushi
xianfajushi   2014.12.09 16:44

foreach (DataRow 行数据 in 读取设定条件.Tables["五行农历显示"].Select("日期 like '%" + 转换含日 + "%' OR 日期 like '%.%'"))
从来就没发现什么诡异
应该是逻辑没处理好造成

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C#怎样在DataTable中使用linq查询
当前有一个任务,需要将datatable中数据筛选后存入新的datatable中,我的mysql数据库中表字段名为ErrorType,程序如下 SqlDataSource errorHoleInfoSqlDataSource = new SqlDataSource(); //还是使用SQLDataSource数据源,参见我的其他文章 errorHoleInfoS
C#利用Linq对DataTable过滤查询代码
C#利用Linq对DataTable过滤查询代码,项目中老是需要对DataTable过滤,试了试Linq挺方便的哟。 小例子: IEnumerable query = from r in dt.AsEnumerable() where r.Field("ID")>10 select r 小例子,当然您也可以这样实现: DataTable dt; Dat
datatable筛选、查询-------linq
for (int i = 0; i < dt.Rows.Count; i++) { var qu = from tb in dt.AsEnumerable() where //tb.Field("pid").ToString() == dt.Rows[i]["pid"]
C# 中 Linq 操作 DataTable
DataTable dt = new DataTable(); dt.Columns.Add("xx_Name", System.Type.GetType("System.String")); dt.Columns.Add("xx_NO", System.Type.GetType("System.String")); dt.R
使用linq机制 实现datatable连表查询 结果赋值到一个新的datatable
using System.Data;using System.Linq;//注意项目要引用System.Data.DataSetExtensions DataTable dtA = new DataTable(); dtA.Columns.Add("id", typeof(int)); dtA.Columns.Add("price", typeo
Linq查询datatable的记录集合
通过linq查询datatable数据集合满足条件的数据集 1.首先定义查询字段的变量,比如深度 string strDepth=查询深度的值;  var dataRows = from datarow in dataTable(需要查询的datatable数据集).AsEnumerable()                            where
C# Linq: Join两个DataTable
方案一:当能够确定DtAll表的字段,并且字段不是很多的情况下,可以显式写出: var query1 = from rHead in dtHead.AsEnumerable() from rTail in dtTail.AsEnumerable() where rHead.Field('GoodID') == rTail.Field('GoodID') s
如何将linq查询的结果 转换为DataTable,最简单的实现方法
<br />public static DataTable CopyToDataTable<T>(this IEnumerable<T> array)<br />  {<br />  var ret = new DataTable();<br />  foreach (PropertyDescriptor dp in TypeDescriptor.GetProperties(typeof(T)))<br />  ret.Columns.Add(dp.Name, dp.PropertyType);<br />
两个DataTablel用Linq实现主外键查询
<br />两个DataTablel用Linq实现主外键查询<br />namespace QueryMultiTable { class Program { static void Main(string[] args) { QueryStuScores( ); QueryNoneScoreStu( ); } static DataSet BuildData
Linq初探——DataTable的查询与修改
<br />第一次接触Linq,做了个小的测试程序。<br /> <br />using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; namespace WebApplication_study.Linq { public p