如何从 vb .net 中的 ms access table 获取下一条记录

how to fetch next record from ms access table in vb .net

我正在 vb .net 中使用 MCQ 应用程序,我想从名为 Q_A 的 MS ACCESS 数据库 table 中获取每条记录...这是我的代码

Dim i As Integer = 0
    con = New OleDb.OleDbConnection
    con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=MCQ.accdb"
    Try
        Dim da As New OleDb.OleDbDataAdapter("SELECT * FROM Q_A ", con)
        If ds.Tables("Q_A").Rows.Count > 0 Then


            da.Fill(ds, "Q_A")
            lblQno.Text = ds.Tables("Q_A").Rows(i).Item(0).ToString()
            lblQuestion.Text = ds.Tables("Q_A").Rows(i).Item(1).ToString()
            rbtn1.Text = ds.Tables("Q_A").Rows(i).Item(2).ToString()
            rbtn2.Text = ds.Tables("Q_A").Rows(i).Item(3).ToString()
            rbtn3.Text = ds.Tables("Q_A").Rows(i).Item(4).ToString()
            rbtn4.Text = ds.Tables("Q_A").Rows(i).Item(5).ToString()

            i = i + 1


        End If

        con.Close()

    Catch ex As Exception
        MsgBox(ex.Message.ToString)
    End Try

但我无法使用此代码获取下一行..请帮助我..提前致谢

此代码在哪里 运行?从按钮点击?上面的代码似乎只显示最后一行,然后抛出异常,因为在 i 大于行数后索引将越界。

第 i 个整数需要在更广泛的范围内声明,并且每次移动到下一行时,请确保您在继续之前没有超出行数范围。

例如,如果您通过单击按钮执行此操作,您将:

Dim i as integer = 0
Do your database query and populate your dataset

Inside your Button Click Event
if i < rowcount then
    lblQno.Text = ds.Tables("Q_A").Rows(i).Item(0).ToString()
    lblQuestion.Text = ds.Tables("Q_A").Rows(i).Item(1).ToString()
    rbtn1.Text = ds.Tables("Q_A").Rows(i).Item(2).ToString()
    rbtn2.Text = ds.Tables("Q_A").Rows(i).Item(3).ToString()
    rbtn3.Text = ds.Tables("Q_A").Rows(i).Item(4).ToString()
    rbtn4.Text = ds.Tables("Q_A").Rows(i).Item(5).ToString()

    i = i + 1
end if

由于 ds 已填充并且 i 是在更广泛的范围内声明的,因此可以在此子中访问它,您需要做的就是检查以确保还有剩余的行,如果有,则显示该行。一旦它显示为下一行递增 i,这样当您再次单击该按钮时,它具有下一行索引的值。