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

时间:2014-11-01 15:09:11

标签: c# vb.net datagridview ms-access-2007

我有一个访问数据库,我在vb和访问之间创建了一个连接并填充了数据集,我怎么才能显示我的数据集的最后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条记录出现任何帮助吗?

3 个答案:

答案 0 :(得分:3)

修改您的查询只能获得5行:

SELECT TOP 5 FROM Student

您还必须在查询中指定订单,以获得您想要的5个订单。

  

"我怎样才能显示最后5条记录"

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

SELECT TOP 5 FROM Student ORDER BY CreationTime DESC

答案 1 :(得分:1)

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

t = ds.Tables("db1") 
DataGridView1.DataSource = t

使用此

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

可能有帮助

答案 2 :(得分:1)

this.BindingSource.Filter = String.Format("RowNumber > '{0}'", Cstr(RowNumber))