C# 是否可以将数据集的最后5条记录显示在datagridview中?

C# 是否可以将数据集的最后5条记录显示在datagridview中?,c#,vb.net,datagridview,ms-access-2007,C#,Vb.net,Datagridview,Ms Access 2007,我有一个access数据库,我在vb和access之间创建了一个连接并填充了数据集,我怎么能只显示数据集的最后5条记录,这是我的代码: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim sql As String = "SELECT * from Student" Dim imagepath As String

我有一个access数据库,我在vb和access之间创建了一个连接并填充了数据集,我怎么能只显示数据集的最后5条记录,这是我的代码:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim sql As String = "SELECT * from Student"
    Dim imagepath As String

    dbprovider = "PROVIDER=Microsoft.ACE.OLEDB.12.0;"
    dbsource = "Data Source = C:\Users\toshiba\Documents\school.accdb"
    con.ConnectionString = dbprovider & dbsource
    con.Open()
    da = New OleDb.OleDbDataAdapter(sql, con)
    da.Fill(ds, "db1")

    con.Close()
    t = ds.Tables("db1") 'rah esta3mela tahet'
    DataGridView1.DataSource = t

这可以显示所有数据,但我只希望最后5条记录显示。请提供帮助?

修改查询,只显示5行:

SELECT TOP 5 FROM Student
您还必须在查询中指定一个顺序,以获得所需的确切顺序

“如何仅显示最后5条记录”

假设您有一个名为“CreationTime”的日期或时间戳字段(例如):


修改查询以仅获取5行:

SELECT TOP 5 FROM Student
您还必须在查询中指定一个顺序,以获得所需的确切顺序

“如何仅显示最后5条记录”

假设您有一个名为“CreationTime”的日期或时间戳字段(例如):


我假设您有一个DataTable,并且您希望得到最后5行,而不是

t = ds.Tables("db1") 
DataGridView1.DataSource = t
用这个

t = ds.Tables("db1").AsEnumerable().Reverse().Take(5);
DataGridView1.DataSource = t

这会有帮助吗?我假设您有一个DataTable,并且希望得到最后5行,而不是

t = ds.Tables("db1") 
DataGridView1.DataSource = t
this.BindingSource.Filter = String.Format("RowNumber > '{0}'", Cstr(RowNumber))
用这个

t = ds.Tables("db1").AsEnumerable().Reverse().Take(5);
DataGridView1.DataSource = t

这可能会有所帮助

但数据集将发生变化,我将在之后使用数据集,然后将您的查询和da.fill(ds,“db1”)ds将只包含最后5个,对吗?我希望在数据集中有完整的数据,并在DataGridView中显示最后5个,但数据集将更改,并且我将在之后使用数据集,我将放置您的查询,然后使用da.fill(ds,“db1”)ds将只包含最后5项,对吗?我希望数据集中有完整数据,并在datagridviewGrant中显示最后5项Winney的回答是正确的,但如果我正确理解您(不接受他的awnser是正确的),您希望数据集中有完整数据,然后过滤以在某些UI中显示。因此,您可以从数据集中的某个数据表中使用DefaultView。可以在视图上添加筛选器,只考虑某些行。看看这个,看看是否对你有帮助。Msdn链接是。您可以使用DefaultView来使用自定义过滤器,并选择“请不要损坏您的帖子”。问题和答案在这里为未来的游客;不仅仅是你。格兰特·温尼的答案是正确的,但是如果我正确理解了你(不接受他的awnser是正确的),你希望在你的数据集中有完整的数据,然后过滤以在某个UI中显示。因此,您可以从数据集中的某个数据表中使用DefaultView。可以在视图上添加筛选器,只考虑某些行。看看这个,看看是否对你有帮助。Msdn链接是。您可以使用DefaultView来使用自定义过滤器,并选择“请不要损坏您的帖子”。问题和答案在这里为未来的游客;不仅仅是你。
this.BindingSource.Filter = String.Format("RowNumber > '{0}'", Cstr(RowNumber))