cast 不是 system.data.rowcollection 的成员
本文关键字:成员 rowcollection data 不是 system cast | 更新日期: 2023-09-27 18:32:16
我想从数据表中选择前 5 行。
为此,我使用了以下查询:
DTResult
.Rows
.Cast(Of System.Data.DataRow)()
.Take(Integer.Parse(ddlPage.SelectedValue.ToString()))
但它给了我以下错误:
cast is not a member of system.data.rowcollection
我删除了演员表,让它像:
DTResult.AsEnumerable.Take(Integer.Parse(ddlPage.SelectedValue.ToString()))
但在这两种情况下,它都给了我错误,而且:
它不是自动建议.Take()
请帮助我。
使用 LINQ(例如 Take()
或Cast()
)和DataTableExtensions(例如 dataTable.AsEnumerable()
),确保引用了正确的程序集并导入了正确的命名空间。
程序集System.Core.dll
用于 LINQ 和 数据表扩展System.Data.DataSetExtensions.dll
。
您需要的命名空间是 System.Linq
和 System.Data
。
在框架 3.5 中,
dt.Rows.Cast<System.Data.DataRow>().Take(5)
否则使用以下代码
public DataTable SelectTopDataRow(DataTable dt, int count)
{
DataTable dtn = dt.Clone();
for (int i = 0; i < count; i++)
{
dtn.ImportRow(dt.Rows[i]);
}
return dtn;
}