VB6 数据库 分页显示记录集

前端之家收集整理的这篇文章主要介绍了VB6 数据库 分页显示记录集前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


做法:

1、取得原始的整个记录集rs1,并对其设置分页大小。

2、创建一个新记录集rs2,把rs1上相应页面上的记录复制到rs2上。

3、在表格上显示rs2,这样就是一个页面的记录集。





  1. '20130504 白话魔法师
  2.  
  3.  
  4. Dim cn As New ADODB.Connection
  5. Dim rs1 As New ADODB.Recordset '原始记录集
  6. Dim rs2 As New ADODB.Recordset '每个页面的记录集
  7. Dim intPage As Integer '当前页数
  8.  
  9. Private Sub Command1_Click()
  10. Dim s As String
  11.  
  12. If intPage < rs1.PageCount Then '指定页面,每点一下就是下一个页面
  13. intPage = intPage + 1
  14. Else
  15. MsgBox "已经是最后一页"
  16. End If
  17. Call rsPage(rs1,intPage) '调用分页显示
  18. End Sub
  19.  
  20. Private Sub Form_Load()
  21. intPage = 0
  22. hfg.FixedCols = 0
  23. hfg.Height = hfg.RowHeight(0) * 6 + 290 + 20
  24. hfg.Width = hfg.CellWidth * 6 + 30 * 6
  25. cn.Open "Provider=sqlOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=book;Data Source=ZHENG"
  26. rs1.Open "select * from 书名",cn,adOpenKeyset,adLockOptimistic,adCmdText
  27. rs1.PageSize = 6
  28. End Sub
  29.  
  30. Private Sub rsPage(ByRef rsFirst As Recordset,ByVal intPageNumber As Integer)
  31. Dim i As Integer,j As Integer
  32.  
  33. For i = 0 To rsFirst.Fields.Count - 1 '创建新表rs2,加入相关字段
  34. rs2.Fields.Append rsFirst.Fields(i).Name,rsFirst.Fields(i).Type,rsFirst.Fields(i).DefinedSize,rsFirst.Fields(i).Attributes
  35. Next i
  36.  
  37. rs2.Open
  38. rsFirst.AbsolutePage = intPageNumber
  39.  
  40.  
  41. For i = 1 To rsFirst.PageSize '把相应页的数据复制到新表rs2
  42. rs2.AddNew
  43.  
  44. For j = 0 To rsFirst.Fields.Count - 1
  45. rs2.Fields(j) = rsFirst.Fields(j)
  46. Next j
  47.  
  48. rs2.Update
  49. rsFirst.MoveNext
  50.  
  51. If rsFirst.EOF Then Exit For '判断是否到结尾,因为最后一面,可能不是整个大小
  52. Next i
  53.  
  54. Set hfg.DataSource = rs2
  55. rs2.Close
  56. End Sub

猜你在找的VB相关文章