[急!]怎样选出datatable里的前几行?

时间:2021-11-23 20:13:49
在查询得到的datatable里,我想再选出某个字段的值最大的n行,
datatable.select()里的参数应该怎么写?
或者有什么其他方法?
请指教!

4 个解决方案

#1


select top n..

#2


我都是新增一个表,然后把前十条记表读出来加到新表里,这样新表里就只有你想要的十条记录了。

#3


datatable.select()的参数似乎不是sql的select语句,而只是条件吧?
怎样才能限制条件,让他只取出前几个呢?

#4


可以这样:
DataColumn myDataColumn;
DataTable myTable = new DataTable ();

myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.Int32");
myDataColumn.ColumnName = "ID";
myDataColumn.AutoIncrement = true;
myDataColumn.AutoIncrementSeed = 0;
myDataColumn.AllowDBNull = false;
myDataColumn.Unique = true;
myTable.Columns.Add(myDataColumn);

myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "name";
myTable.Columns.Add(myDataColumn);
 

for(int i=0;i<10;i ++)
{
DataRow myDataRow = myTable.NewRow();
myDataRow["name"] = i.ToString();
myTable.Rows.Add(myDataRow);
}

在建立 Table 时,就给 Table 增加一个自增列。

// 选择出头 3 列。
DataRow[] foundRow = myTable.Select("ID<3");
Response.Write(foundRow.Length.ToString());

#1


select top n..

#2


我都是新增一个表,然后把前十条记表读出来加到新表里,这样新表里就只有你想要的十条记录了。

#3


datatable.select()的参数似乎不是sql的select语句,而只是条件吧?
怎样才能限制条件,让他只取出前几个呢?

#4


可以这样:
DataColumn myDataColumn;
DataTable myTable = new DataTable ();

myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.Int32");
myDataColumn.ColumnName = "ID";
myDataColumn.AutoIncrement = true;
myDataColumn.AutoIncrementSeed = 0;
myDataColumn.AllowDBNull = false;
myDataColumn.Unique = true;
myTable.Columns.Add(myDataColumn);

myDataColumn = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "name";
myTable.Columns.Add(myDataColumn);
 

for(int i=0;i<10;i ++)
{
DataRow myDataRow = myTable.NewRow();
myDataRow["name"] = i.ToString();
myTable.Rows.Add(myDataRow);
}

在建立 Table 时,就给 Table 增加一个自增列。

// 选择出头 3 列。
DataRow[] foundRow = myTable.Select("ID<3");
Response.Write(foundRow.Length.ToString());