如何取DataSet中Table中的前10条记录?

luomingchao 2007-09-18 12:45:50
如何取DataSet中table1中的前10条记录?

table1为"select * from info"

我想得到"select * from info where menu_id=10 order by istop desc,publishdate desc"的表


DataView dataView = new DataView();
dataView = table1.DefaultView;
dataView.RowFilter = " menu_id=" + id;
dataView.Sort = " istop desc,publishdate desc";

想取前10条,该如何做?
...全文
1204 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
haiben080808 2009-01-08
  • 打赏
  • 举报
回复
//获取TOP 10 记录("0-9"==> "i>9")
for (int i = dt.Rows.Count-1; i > 9; i--)
{
dt.Rows[i].Delete();
}
rep.DataSource = dt;
rep.DataBind();
haiben080808 2009-01-08
  • 打赏
  • 举报
回复
//获取TOP 10 记录("0-9"==> "i>9")
for (int i = dt.Rows.Count-1; i > 9; i--)
{
dt.Rows[i].Delete();
}
rep.DataSource = dt;
rep.DataBind();
rene1018 2008-04-10
  • 打赏
  • 举报
回复
这么多方法啊。学会了
hflkl1314 2007-09-19
  • 打赏
  • 举报
回复
SqlConnection conn = createcon();
SqlDataAdapter sda = new SqlDataAdapter(sqlstr,conn);
DataSet ds = new DataSet();
sda.Fill(ds,0,10,"table名");
支持 ds本来就支持这样的
xc_lw 2007-09-18
  • 打赏
  • 举报
回复
DataTable table = ds.Tables[0];
DataColumn column = new DataColumn("id", typeof(int));
column.AutoIncrement = true;
column.AutoIncrementSeed = 1;
column.AutoIncrementStep = 1;
table.Columns.Add(column);
table.Select("id <=10");

不要说前十条,你想取第几条都行呀.

接分.
luomingchao 2007-09-18
  • 打赏
  • 举报
回复
//string strSQL = "select * from info where menu_id=" + id+ " order by istop desc,publishdate desc";
//我实际上是想只显示前10条,但数据都存于DataSet中.

DataSet ds = Luo.ds_cache.rtn_ds_Info();//取cache中的数据
dataView = ds.Tables[0].DefaultView;
dataView.RowFilter = " menu_id=" + id;
dataView.Sort = " istop desc,publishdate desc";

Repeater1.DataSource = dataView;
Repeater1.DataBind();
北京的雾霾天 2007-09-18
  • 打赏
  • 举报
回复
List<DataRowView> list=new List<DataRowView);
for(int i=0;i<10;i++)
{
list.Add( dataView[i]);
}

list就包含前10条数据
nextsun 2007-09-18
  • 打赏
  • 举报
回复
SqlConnection conn = createcon();
SqlDataAdapter sda = new SqlDataAdapter(sqlstr,conn);
DataSet ds = new DataSet();
sda.Fill(ds,0,10,"table名");
glacier111 2007-09-18
  • 打赏
  • 举报
回复
看错了,呵呵,不好意思
glacier111 2007-09-18
  • 打赏
  • 举报
回复
ds.Tables[0].Rows[9]
kkun_3yue3 2007-09-18
  • 打赏
  • 举报
回复
在SQL 里加 top 10 * 不可以么,
luomingchao 2007-09-18
  • 打赏
  • 举报
回复
private void rpt_bind(int id)
{
//string strSQL = "select * from info where menu_id=" + id+ " order by istop desc,publishdate desc";
DataSet ds = Luo.ds_cache.rtn_ds_Info();
DataTable mytbl = ds.Tables[0];

//先过滤一遍
DataView dataView = mytbl.DefaultView;
dataView.RowFilter = " menu_id=" + id;
dataView.Sort = " istop desc,publishdate desc";

if (dataView.Count > 10)
{
DataTable temp_DataTable = dataView.ToTable();
DataColumn col_1 = temp_DataTable.Columns.Add("aaaaid", typeof(int));
for (int i = 0; i < temp_DataTable.Rows.Count; i++)
{
temp_DataTable.Rows[i]["aaaaid"] = i + 1;
}
dataView = temp_DataTable.DefaultView;
dataView.RowFilter = "aaaaid<=10";
}

Repeater1.DataSource = dataView;
Repeater1.DataBind();
}

试验了好几遍,终于可以了,谢谢大家

最想感谢的是 xc_lw(汪汪)
luomingchao 2007-09-18
  • 打赏
  • 举报
回复
采用cache,就是想用缓存ds代替数据库.

个人认为在数据量不大,访问量大时,速度上有所提高.

很多人都说过ds其实就是内存中的数据库,但我不懂如何操作它.
tku405 2007-09-18
  • 打赏
  • 举报
回复
Dim sel As String = String.Format("SELECT Top {0} * FROM [bbb] WHERE DateToShow <=GETDATE() ORDER BY DateToShow DESC", _itemsToShow)
SqlDataSource1.SelectCommand = sel 再前面定义下_itemstoshow的数值。
tku405 2007-09-18
  • 打赏
  • 举报
回复
top 10 * 我用的就这个。 直接在数据库中操作不更好么 相同的功能越简洁越好
luomingchao 2007-09-18
  • 打赏
  • 举报
回复
g_lbz() ,老兄,这个方法你试过没?
g_lbz 2007-09-18
  • 打赏
  • 举报
回复
dt.Rows.Add(mydt.Rows[i]);

错误:异常详细信息: System.ArgumentException: 该行已经属于另一个表。
///////////////////
DataRow dr=mydt.NewRow();
dr=mydt.Rows[i];
dt.Rows.Add(dr);
luomingchao 2007-09-18
  • 打赏
  • 举报
回复
dt.Rows.Add(mydt.Rows[i]);

错误:异常详细信息: System.ArgumentException: 该行已经属于另一个表。


这种方法,总是会有这样的提示.大家如果有时间,可以试一下
xueying1123 2007-09-18
  • 打赏
  • 举报
回复
dim i as integer
dim dt as new datatable
For i = 0 To 9
{
Dim pRow As System.Data.DataRow
pRow = ds.tables(0).rows(i)
dt.rows.add(pRow)
}

Repeater1.DataSource = dt.DefaultView


vb 的你转一下
Repeater1.DataBind()
luomingchao 2007-09-18
  • 打赏
  • 举报
回复
是从dataset中取数据,不是从数据库中
加载更多回复(7)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧