Imports System.Data.SQLite
Public Class MainForm
' 数据库连接字符串
Dim connectionString As String = "Data Source=mydatabase.db"
' 数据绑定的数据源
Dim bindingSource As New BindingSource()
' 分页相关的变量
Dim pageSize As Integer = 10
Dim currentPage As Integer = 1
Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' 初始化带有 BindingSource 的 DataGridView
dgvUsers.DataSource = bindingSource
' 加载初始页面
LoadPage(currentPage)
End Sub
Private Sub btnNextPage_Click(sender As Object, e As EventArgs) Handles btnNextPage.Click
' 加载下一页
currentPage += 1
LoadPage(currentPage)
End Sub
Private Sub btnPreviousPage_Click(sender As Object, e As EventArgs) Handles btnPreviousPage.Click
' 确保不要到达负页数
If currentPage > 1 Then
' 加载上一页
currentPage -= 1
LoadPage(currentPage)
End If
End Sub
Private Sub LoadPage(pageNumber As Integer)
' 计算当前页面的偏移量
Dim offset As Integer = (pageNumber - 1) * pageSize
' 从数据库中读取一页记录
Dim userRecords As List(Of User) = ReadUserRecords(pageSize, offset)
' 将记录绑定到 DataGridView
bindingSource.DataSource = userRecords
End Sub
Private Function ReadUserRecords(limit As Integer, offset As Integer) As List(Of User)
' 选择数据库中的一页用户的 SQL 查询
Dim query As String = #34;SELECT Username, Password FROM Users LIMIT {limit} OFFSET {offset}"
Dim userRecords As New List(Of User)()
Using connection As New SQLiteConnection(connectionString)
connection.Open()
Using command As New SQLiteCommand(query, connection)
Using reader As SQLiteDataReader = command.ExecuteReader()
' 遍历记录
While reader.Read()
Dim userRecord As New User()
userRecord.Username = reader.GetString(0)
userRecord.Password = reader.GetString(1)
userRecords.Add(userRecord)
End While
End Using
End Using
End Using
Return userRecords
End Function
End Class
' 存储检索数据的 User 类
Public Class User
Public Property Username As String
Public Property Password As String
End Class
本文暂时没有评论,来添加一个吧(●'◡'●)