我也有怀疑过。。因为查其他表好像都没有问题。我的datatable是从excel文件读出来的。但我看回出问题的那个excel表,感觉又没有空行
解决方案 »
- WebClient的一个问题,求高手!
- 类库中如何给win窗体的listbox中添加项目,调不出listbox哦
- 请教treeView重新加载的问题
- 如何在winform中嵌入execl?
- 音频怎么"一幅一幅"发送,我已经实现图片发送了,我要视频流发送,怎么实现了?
- C#界面设计
- 大家知不知道如何在asp.net中实现这们的效果?
- .net高手进来指导下
- 如何得到dataGridView中的DataTable的名称
- [winform]关于DataGrid单元格格式的问题
- 如何将串口接收到的数据保存到byte数组中?
- C#PropertyGrid动态设置属性Browsable为false,所有的属性不见了
DataTable dt = new DataTable();
dt.Columns.Add("a", typeof(int));
dt.Columns.Add("b", typeof(string)); dt.Rows.Add(1, "2014-12-12");
dt.Rows.Add(2, "aaa");
dt.Rows.Add(3, "2014-12-15");
dt.Rows.Add(4, "2012-12-15"); var q = dt.AsEnumerable().Where(d =>
{
var dx = d.Field<string>("b");
try
{
return Convert.ToDateTime(dx) > DateTime.Now;
}
catch (Exception)
{
return false;
}
}).ToList().CopyToDataTable();
for (int i = 0; i < q.Rows.Count; i++)
{
Console.WriteLine(q.Rows[i][0].ToString() + " " + q.Rows[i][1].ToString());
}
差不多就是这样了...
转换无效那是格式不正确呀,不是时间格式的。看看是不是有空值,或者空格。请问应该怎么找比较好呢。。表的数据有20几万。。一眼看过去好像都没问题。。
你的条件是怎样写的?
var q1 = from dt in sheet.AsEnumerable()
orderby dt.Field<DateTime>("FTIME") descending
where dt.Field<DateTime>("FTIME") >= Time && dt.Field<DateTime>("FTIME") < atime
select dt;
var dx = d.Field<string>("b");
var time=datetime.now;
try
{
time=Convert.ToDateTime(dx);
}
catch (Exception)
{
time=Convert.ToDateTime("1900-01-01");
}
return time> Convert.ToDateTime("2014-9-17 23:59:17");
表示查询表中大于2014-9-17 23:59:17时间段数据..其中如果有不是时间或者时间不能转换的.默认时间给的是1900年差不多就是这样了..后面的都是手写 可能有一些问题.不过意思就是这样了.
用datetime?
表示允许null