我从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