如何选择C#数据表中的前n行



我从MS SQL中提取了一个数据表,并希望从该数据表中选择前n行。我尝试了在stackoverflow上找到的一些其他方法,如AsEnumerate(),但它说扩展不存在。我还有什么其他选择?

我的数据表是3列,大约250行。

tbl = db.GetDataTable(strSQL.ToString(), param);
param = null;
param = new IDbDataParameter[1];
if (rCount != 0)
{
strSQL = null;
strSQL = new StringBuilder();
strSQL.Append("SELECT *");
strSQL.Append(" FROM  " + Database + "..db" + DB_Com_Methods.WNLC());
strSQL.Append(" where x in (");
strSQL.Append("@y");
strSQL.Append(")");
strSQL.Append(" ORDER BY Date ASC ");
param[0] = new SqlParameter("@y", z);
tbl = db.GetDataTable(strSQL.ToString(), param);
}
return tbl;

TOP <number>语句添加到sql查询中。即

strSQL.Append("SELECT TOP 10 *");

您有两个选项。根据@JonasH的建议,在您的查询中使用TOP,或者您可以使用以下方法

var topRows = tbl .AsEnumerable().Take<DataRow>(2);//top 2

最新更新