实例4 分页显示记录

(一)制作特点:

第一、利用记录集的分页特性进行记录分页

第二、使用DataGrid控件的数据绑定功能显示分页后的记录

(二)设计分析:

显示当前记录页数据有两种方法:

方法一、DataGrid控件:该控件会显示记录集中的全部数据,所以不能直接将分页的记录集绑定到DataGrid控件。可将当前记录页中的记录复制到一个新的记录集中,再将其绑定到DataGrid控件,便可显示当前记录页数据。√

方法二、MSFlexGrid控件:该控件可在设计时将其绑定到Data控件。在运行时,则可通过设置控件的TextMatrix属性来显示数据。

(三)技术要领:

1.记录集的分页特性

2.DataGrid控件

用于绑定数据源,从数据源获得数据。控件列为数据源记录集的字段,控件行为数据源记录集的记录。

将该控件DataSource属性设置为ADO Data 控件或RecordSet对象,以完成数据绑定。

3.MSFlexGrid控件

(四)操作过程:

(1)设计窗体

①工程——部件——Microsoft DataGrid Control 6.0(OLEDB)

②三个标签框+两个文本框+两个命令按钮+DataGrid控件

(2)编写代码

①实现分页显示记录功能

 Public Sub ShowData(ByVal intPage As Integer)      '实现分页显示记录功能Dim intPageCount As Integer, intRecord As IntegerDim objDataSource As New Recordset               '创建一个局部Recordset对象保存objRs当前记录页数据For intRecord = 0 To objRs.Fields.Count - 1objDataSource.Fields.Append objRs.Fields(intRecord).Name, adVarChar, objRs.Fields(intRecord).DefinedSizeNextobjDataSource.Open                  '打开局部Recordset对象objRs.PageSize = Val(txtPageSize)    '重新设置objRs每页显示的记录条数objRs.AbsolutePage = intPage        '重新设置objRs的当前记录页For intRecord = 1 To objRs.PageSize     '将当前记录页中数据写入objDataSourceobjDataSource.AddNewobjDataSource!用户名 = objRs!用户名      '感叹号“!”常用于当一个控件作为一个特性访问的情况objDataSource!口令 = objRs!口令objRs.MoveNextIf objRs.EOF Then Exit For              '如果objRs在记录集的尾处则退出NextSet DataGrid1.DataSource = objDataSource    '设置为数据网格的数据源txtPageMsg = intPage & "/" & objRs.PageCount    '刷新当前记录页信息End Sub

②前一页按钮

Private Sub cmdPre_Click()If intPage <> 1 Then                '修改当前页编号,向前切换记录页intPage = intPage - 1ShowData (intPage)End If
End Sub

③后一页按钮

Private Sub cmdNext_Click()
If intPage <> objRs.PageCount Then      '修改当前页编号,向后切换记录页intPage = intPage + 1ShowData (intPage)End If
End Sub

③建立数据库连接

strCn = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=false;" & "Data Source=" & "C:\Users\TXG\Desktop\实例1.mdb"objCn.ConnectionString = strCnobjCn.Open

④关闭数据库连接,释放Recordset对象objRs和Connection对象objCn

Private Sub Form_Unload(Cancel As Integer)objCn.CloseSet objCn = NothingSet objRs = Nothing
End Sub

(五)连接数据库方式:

使用ADO Data 控件快速创建数据库连接,不用编写代码即可访问数据库。

红皮书再总结——实例四相关推荐

  1. 红皮书再总结——实例一

    红皮书是Visual Basic 6.0数据库开发经典实例精解的简称,这本书是我们学习vb与数据库的基础. 首先给大家介绍一下数据库连接的三种方式: 一.使用ADO connection对象,通过编写 ...

  2. 数电和Verilog-时序逻辑实例四:状态机(三段式描述)

    A.20 时序逻辑实例四:状态机(三段式描述) 什么叫做三段式描述的状态机? 三段,可以理解为三个always程序块. (1)第一个always程序块 采用同步时序逻辑电路描述状态转移. (2)第二个 ...

  3. C语言库函数大全及应用实例四

                                      [编程资料]C语言库函数大全及应用实例四 couble fmod (double x, double y);<?xml:nam ...

  4. 实例四:switch分支选择——实现阶梯式计算

    实例四:switch分支选择--实现阶梯式计算 问题描述: 假设公民交纳个人所得税的税率如下(a 代表个人收入,r 代表税率) r = 0 (a < 2000元) r = 5% (2000元 & ...

  5. Python+Flask+MySQL实例——四六级单词表的查询

    Flask实例--四六级单词表查询 这里我们会链接数据库,并用flask达到输入单词,在网页上返回数据库中查询结果的目的. Python文件 from flask import Flask, requ ...

  6. Json转换利器Gson之实例四-Map处理(下)

    Map的存储结构式Key/Value形式,Key 和 Value可以是普通类型,也可以是自己写的JavaBean(上一篇博客),还可以是带有泛型的List(本文).本例中您要重点看如何将Json转回为 ...

  7. JVM指令分析实例四(数组、switch)

    本篇为<JVM指令分析实例>的第四篇,相关实例均使用Oracle JDK 1.8编译,并使用javap生成字节码指令清单. 前几篇传送门: JVM指令分析实例一(常量.局部变量.for循环 ...

  8. oracle数据库再深入(四)

    游标 http://www.cnblogs.com/huyong/archive/2011/05/04/2036377.html 概念: 在PL/SQL块中执行SELECT.INSERT.DELETE ...

  9. C语言实例——四种排序算法(冒泡排序、选择排序、插入排序、快速排序)

    C 语言排序算法 BB Time 一.冒泡排序 1.原理 2.代码 二.选择排序 1.原理 2.代码 三.插入排序 1.原理 2.代码 四.快速排序 1.原理 2.代码 3.操作过程 BB Again ...

最新文章

  1. 拼多多二面:Mybatis是如何执行一条SQL命令的?
  2. Android4.0源码Launcher启动流程分析【android源码Launcher系列一】
  3. 001_Servlet简介
  4. “面试不败计划”: java语言基础面试题(二)
  5. iptables 实际操作 之 规则查询 2
  6. “每日 4 +1 问”理念之体重记录
  7. iOS----------The app's Info.plist must contain an NSPhotoLibraryUsageDescription key
  8. Could not open app - SAP UI5 error message
  9. (JAVA)hashcode
  10. React学习,Babel ES6兼容运行使用的命令行整理
  11. python亿级mysql数据库导出_Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法...
  12. ecshop实现弹出登录框
  13. mac系统怎么获取最高权限删除顽固文件?
  14. php---兄弟连的php培训视频的总结(1)
  15. 如何为自己的在线办公软件 ONLYOFFICE Docs 服务器的字体库添加字体
  16. oracle数字进一函数,oracle常用函数一:数字函数
  17. 出现错误/ncnn/src/cpu.cpp:426: undefined reference to `stderr'完美解决方案。
  18. es6 扩展运算符 三个点(...)
  19. 2、金融量化分析简介
  20. 机器学习面试题总结(转)

热门文章

  1. ORACLE process爆满,大量process没有对应的session
  2. macOS Mojave 10.14.6 18G103 正式版 with Clover 5091原版镜像[双EFI双平台终极版]
  3. win8计算机配置管理模板,win8.1用户帐户配置管理图文详解
  4. maven 多模块项目如何导入其他模块的第三方 jar 包
  5. hadoop中使用lzo压缩算法
  6. 换发型特效怎么制作?建议收藏这些方法
  7. 《小狗钱钱》思维导图
  8. Java里的char类型能不能存储一个中文字符?
  9. 人脸识别学生考勤系统【2】--登录
  10. 【JAVA】解决mapper绑定异常:nested exception is org.apache.ibatis.binding.BindingException: