vb6 rs记录集,怎么取其中的一段记录
我用rs查询数据库,比如说,返回了100条记录。我该怎样取其中某一段的记录?比如,第10至20条记录?只有用rs.movenext循环到第10条记录吗?没有其它方法?
[解决办法]
rs查询就加入查询条件
[解决办法]
move方法...
[解决办法]
sele * from table where recno() between 10 and 20
[解决办法]
MSSQL用TOP返回
MYSQL用LIMIT返回
[解决办法]
可以使用AbsolutePage、PageCount 和 PageSize 属性来划分页。
该范例使用 AbsolutePage、PageCount 和 PageSize 属性,以每次五个记录的方式显示雇员表中的姓名和受雇日期。
Public Sub AbsolutePageX()
Dim rstEmployees As ADODB.Recordset
Dim strCnn As String
Dim strMessage As String
Dim intPage As Integer
Dim intPageCount As Integer
Dim intRecord As Integer
' 使用客户端游标为雇员表打开一个记录集。
strCnn = "Provider=sqloledb;" & _
"Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
Set rstEmployees = New ADODB.Recordset
' 使用客户端游标激活 AbsolutePosition 属性。
rstEmployees.CursorLocation = adUseClient
rstEmployees.Open "employee", strCnn, , , adCmdTable
' 显示姓名和受雇日期,每次五个记录。
rstEmployees.PageSize = 5
intPageCount = rstEmployees.PageCount
For intPage = 1 To intPageCount
rstEmployees.AbsolutePage = intPage
strMessage = ""
For intRecord = 1 To rstEmployees.PageSize
strMessage = strMessage & _
rstEmployees!fname & " " & _
rstEmployees!lname & " " & _
rstEmployees!hire_date & vbCr
rstEmployees.MoveNext
If rstEmployees.EOF Then Exit For
Next intRecord
MsgBox strMessage
Next intPage
rstEmployees.Close
End Sub
----------------------------
也可以先
rs.move 10,1
然后再用rs.movenext一条一条取到第20条。