编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

vb.net sqlite 读取数据写入到gradeview 有分页

wxchong 2024-07-25 13:37:43 开源技术 10 ℃ 0 评论
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

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表