我有一个 DataTable,我从 SQL 表中填充以下示例列
我正在用某种类型的行填充数据表。我想从生成的 DataTable 中选择第 10 - 20 行:
Connect conn = new Connect();
SqlDataAdapter da = new SqlDataAdapter(SQL, conn.Connection());
//Creates data
DataTable d = new DataTable();
da.Fill(d);
DataRow[] result = d.Select();
在上面的代码中,我省略了主要 SQL,并且目前我没有为我的 DataRow 数组进行选择。我找不到引用行号的方法。
例如我正在寻找类似的东西Select("rownum > X && rownum < Y")
我在这里搜索过,以及其他一些资源都无济于事。任何线索都会非常方便,或者只是简单的不可能。
最好只从数据库中选择您需要的内容(例如,通过使用TOP
子句或窗口函数,例如ROW_NUMBER
)而不是在内存中过滤它。
但是,您可以使用Linq-To-DataSet
and Enumerable.Skip
+ Enumerable.Take
:
var rows = d.AsEnumerable()
.Skip(9).Take(11); // select rows 10-20 as desired (so you want 11 rows)
如果你想要一个新的DataTable
从过滤结果使用CopyToDataTable
,如果你想要一个DataRow[]
use rows.ToArray()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)