在vb.net中怎样浏览首记录 、上一条、下一条、尾记录、和数据库access 绑定的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在vb.net中怎样浏览首记录 、上一条、下一条、尾记录、和数据库access 绑定的相关的知识,希望对你有一定的参考价值。

参考技术A 一般,我都不喜欢做这样报上一条下一条,太专业的数据库操作不适合终端用户。
如果必须要做,你可以这样:按排序规则,取到健列表。保存到list中,上下条,只是改变一索引而已。

Imports System.Data.OleDb
Class BindNavigate
Dim cnn As OleDb.OleDbConnection '打开连接略

Dim lst As New List(Of Integer)
Sub New()
lst = New List(Of Integer)
index = -1
Using da As New OleDbDataAdapter("select id from mytable order by abc,def", cnn), tb As New DataTable
da.Fill(tb)
For Each row As DataRow In tb.Rows
Dim n As Integer = row(0)
lst.Add(n)
Next
If tb.Rows.Count > 0 Then CurrentIndex = 0
End Using

End Sub
Dim index As Integer Event CurrentIndexChanged()
Property CurrentIndex As Integer
Get
Return index
End Get
Set(ByVal value As Integer)
Dim b As Boolean = value <> index
index = value
If b Then RaiseEvent CurrentIndexChanged()
End Set
End Property
'当前的键值
ReadOnly Property CurrentValue As Integer
Get
Return lst(index)
End Get
End Property

Sub MoveFirst()
CurrentIndex = 0
End Sub
Sub MovePrevious()
CurrentIndex -= 1
End Sub
Sub MoveNext()
CurrentIndex += 1
End Sub

Sub MoveLast()
CurrentIndex = lst.Count - 1
End Sub

ReadOnly Property BOF
Get
Return CurrentIndex <= 0
End Get
End Property
ReadOnly Property EOF
Get
Return CurrentIndex >= lst.Count - 1
End Get
End Property

Private Sub Text_CurrentIndexChanged() Handles Me.CurrentIndexChanged
'绑定过程
End Sub
End Class

SQL如何获取上一条..下一条..首尾记录...

没条记录有不重复的ID,ID不一定连续,但在数据库中一定是按ID从小到大的顺序排列,现知道一个ID值,要取该ID对应记录的上一条或下一条记录,语句该如何编写.....
另如何取首尾记录...

参考技术A 获得上一条的id :select max(id)as id from [表] where id<"[你的要查的id]" order by [.....]

获得下一条的id :select min(id)as id from [表] where id>"[你的要查的id]" order by [.....]

很笨的办法但是很直观·
不知道你是什么数据库··根据不同的数据库有很多不同的写法··
比如 mysql 中的 limit 或者 mssql 中的 top
写法多了去啦··呵呵··上面举个例子罢了··希望对你有帮助
参考技术B 我来回答吧:

指定id 的 升序排列 ,前一条 当前条 和 下一条

如果是 sql server 或者 access

select * from
(
select top 2 * from 你的表 where id = 指定值 order by id desc
union
select top 2 * from 你的表 where id = 指定值 order by id asc
) ttt order by id asc

如果是 mysql server

select * from
(
select * from 你的表 where id = 指定值 order by id desc limit 2
union
select * from 你的表 where id = 指定值 order by id asc limit 2
) ttt order by id asc
参考技术C 下一条:
select top 1 from tb
where id > 知道的ID值
order by id asc

上一条:
select top 1 from tb
where id < 知道的ID值
order by id desc本回答被提问者采纳
参考技术D Id+1 下一条
Id-1 上一条
select top 1 from tb order by id asc 首
select top 1 from tb order by id desc 尾

以上是关于在vb.net中怎样浏览首记录 、上一条、下一条、尾记录、和数据库access 绑定的的主要内容,如果未能解决你的问题,请参考以下文章

sql查询上一条记录和下一条记录

asp中如何读取当前记录的上一条和下一条记录

平台记录部件上一条/下一条方法

通过 SQL 读取下一条/上一条记录

mysql获取上一条和下一条记录id

Oracle查询当前记录的上一条记录或下一条记录