在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对应记录的上一条或下一条记录,语句该如何编写.....
另如何取首尾记录...
获得下一条的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 绑定的的主要内容,如果未能解决你的问题,请参考以下文章