当前位置:编程学习 > C#/ASP.NET >>

DataTable的Select方法严重问题,望高手帮帮忙!

问一个很严重的问题,望高手帮帮忙!
DataTable的Select()方法有时候不灵验,郁闷
譬如说现有一个DataTable的对象dt,dt的其中一个列为金额,其中有几行数据不为0,但我当dt.Select("金额>0").Length时,Length竟然是0,也就是说这个结果是错误的,因为dt表中有些金额是大于0的。
这是怎么回事呢?如何解决啊??有人遇到过不?开发环境visual studio.net 2003  C#语言 --------------------编程问答-------------------- 测试了一下,没有碰到,贴贴你的数据和代码吧 --------------------编程问答-------------------- 上面只是个例子,代码太多了,关联很多个文件,不能一下子整理贴出来!
第一次从数据库读数据出来时用dt.Select()方法得到的结果是正确的,当改变dt表中的数据时再用dt.Select方法时得到的数据就不正确了!
之前也有过很多人问过类像的问题在csdn.net,可是都没有得出个满意的答案啊!
郁闷 --------------------编程问答-------------------- 是你的数据或者程序有问题,DataTable.Select这个我经常用,没有问题的。 --------------------编程问答-------------------- 我都用了无数次DataTable.Select了 --------------------编程问答-------------------- 这论坛也有很多人问啊!真的是有这个问题啊 --------------------编程问答-------------------- 检查列的数据类型,是否变成了字符类型,所以比较时不是你想要的结果? --------------------编程问答-------------------- 这样使用应该不会有问题,你这样测试一下,在使用dt.Select()之前,先把dt中["金额"]这一列输出看下是什么内容 --------------------编程问答-------------------- 一列数据中有10个大于0时,有时它才找到6个,所以应该不是数据类型问题啊 --------------------编程问答-------------------- datatable 是不是绑定出来的啊,金额的数据类型是不是 非数字的字段啊? --------------------编程问答-------------------- 金额字段不是数值类型吧? --------------------编程问答-------------------- 不管是不是数值型,金额〉'0'才对。我这样就没错过 --------------------编程问答-------------------- 你还是自己重新指定一下金额列的类型吧,应该是数据类型引起的。 --------------------编程问答-------------------- 没有代码大家也不好帮你看呀!应该没有错误的! --------------------编程问答-------------------- 你的问题 列 类型问题 尽量不要用中文列 --------------------编程问答-------------------- 这个问题我碰到过,现在还没有解决方案,我的问题出现在短时间内对同一datatable进行多次select操作造成的,我的select的频率大概在每秒30次以上。我的解决方法是将这datatable.copy()到新的表中,再由新表来select获得,但是这个性能问题会随着数据量的增大而极具下降。 --------------------编程问答-------------------- DataTable.Select这个我经常用,没有问题的

还是检查一下你的程序吧 --------------------编程问答-------------------- 数据表类型定义了吗? --------------------编程问答-------------------- 其实就看你这一句,dt.Select("金额>0").Length,你说结果等于0,有几种情况。
1、dt数据表里本身就没有满足这些条件数据,
2、如果有满足的条件数据,“金额”的数据类型是什么,是不是数值。
3、如果数据类型不对,可能转换一下,比如:dt.Select("Convert(numeric(15,2),金额) > 0").
总之我认为Select应该没有问题的。 --------------------编程问答-------------------- 有结果了吗? --------------------编程问答-------------------- 肯定是条件有错,把DataTable的数据打印出来一比就知道原因了 --------------------编程问答-------------------- 我select 出来的结果也不datatable中有的数据。

有人知道答案吗???
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,