-1

是否可以在 VB.NET 表单中单击“下一步”按钮以显示 Access 数据库中的下一组数据?

我的模块如下所示。

Imports System.Data.OleDb
Module Module1
    Public con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\CITeval\system5\system5\evaluation.mdb;")
    Public da As OleDbDataAdapter
    Public dr As OleDbDataReader
    Public cmd As OleDbCommand
    Public ds = New DataSet
    Public CurrentRow As Integer
End Module

表单加载的代码是什么?下一个?

4

2 回答 2

0

这是服务器端分页的经典问题。在最简单的情况下,将 WHERE 子句添加到 OleDbCommand 中使用的 SELECT 语句。例如,如果您的结果具有某种 ID - 每次单击 btnNext 时都会增加 WHERE 语句的参数。

因此,对于初始负载,它将是WHERE ID BETWEEN 1 AND 100

对于第一个 btnNext 单击它将是WHERE ID BETWEEN 101 AND 200

对于第二个 btnNext 单击它将是WHERE ID BETWEEN 201 AND 300

等等

同样,这是一种非常基本的方法(如果您的 ID 不是连续的,它可能会产生不一致的结果),但这就是想法 - 通过某种条件限制每个连续的结果。

于 2013-09-01T22:00:30.340 回答
0

Yuriy Galanter 已经在他的回答中概述了基本方法(在您的语句中添加一个WHERE子句SELECT),但不幸的是,如果没有高级 SQL 知识,在 Access 中做到这一点并不容易。

其他数据库系统对此有简单的语法,例如 MySQL。以下查询从MySQL 中的表中选择数据,跳过前 30 行,然后选择接下来的 10 行:

SELECT * FROM Table ORDER BY ID LIMIT 30, 10

不幸的是,LIMIT在 MS Access 中没有任何东西,但可以使用一些 SQL 子查询创建相同的行为。

查看以下链接,我在其中回答了类似的问题:
如何进行 MS Access 数据库分页 + 搜索?

于 2013-09-01T22:39:05.433 回答