红皮书再总结——实例四
实例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 控件快速创建数据库连接,不用编写代码即可访问数据库。
红皮书再总结——实例四相关推荐
- 红皮书再总结——实例一
红皮书是Visual Basic 6.0数据库开发经典实例精解的简称,这本书是我们学习vb与数据库的基础. 首先给大家介绍一下数据库连接的三种方式: 一.使用ADO connection对象,通过编写 ...
- 数电和Verilog-时序逻辑实例四:状态机(三段式描述)
A.20 时序逻辑实例四:状态机(三段式描述) 什么叫做三段式描述的状态机? 三段,可以理解为三个always程序块. (1)第一个always程序块 采用同步时序逻辑电路描述状态转移. (2)第二个 ...
- C语言库函数大全及应用实例四
[编程资料]C语言库函数大全及应用实例四 couble fmod (double x, double y);<?xml:nam ...
- 实例四:switch分支选择——实现阶梯式计算
实例四:switch分支选择--实现阶梯式计算 问题描述: 假设公民交纳个人所得税的税率如下(a 代表个人收入,r 代表税率) r = 0 (a < 2000元) r = 5% (2000元 & ...
- Python+Flask+MySQL实例——四六级单词表的查询
Flask实例--四六级单词表查询 这里我们会链接数据库,并用flask达到输入单词,在网页上返回数据库中查询结果的目的. Python文件 from flask import Flask, requ ...
- Json转换利器Gson之实例四-Map处理(下)
Map的存储结构式Key/Value形式,Key 和 Value可以是普通类型,也可以是自己写的JavaBean(上一篇博客),还可以是带有泛型的List(本文).本例中您要重点看如何将Json转回为 ...
- JVM指令分析实例四(数组、switch)
本篇为<JVM指令分析实例>的第四篇,相关实例均使用Oracle JDK 1.8编译,并使用javap生成字节码指令清单. 前几篇传送门: JVM指令分析实例一(常量.局部变量.for循环 ...
- oracle数据库再深入(四)
游标 http://www.cnblogs.com/huyong/archive/2011/05/04/2036377.html 概念: 在PL/SQL块中执行SELECT.INSERT.DELETE ...
- C语言实例——四种排序算法(冒泡排序、选择排序、插入排序、快速排序)
C 语言排序算法 BB Time 一.冒泡排序 1.原理 2.代码 二.选择排序 1.原理 2.代码 三.插入排序 1.原理 2.代码 四.快速排序 1.原理 2.代码 3.操作过程 BB Again ...
最新文章
- 拼多多二面:Mybatis是如何执行一条SQL命令的?
- Android4.0源码Launcher启动流程分析【android源码Launcher系列一】
- 001_Servlet简介
- “面试不败计划”: java语言基础面试题(二)
- iptables 实际操作 之 规则查询 2
- “每日 4 +1 问”理念之体重记录
- iOS----------The app's Info.plist must contain an NSPhotoLibraryUsageDescription key
- Could not open app - SAP UI5 error message
- (JAVA)hashcode
- React学习,Babel ES6兼容运行使用的命令行整理
- python亿级mysql数据库导出_Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法...
- ecshop实现弹出登录框
- mac系统怎么获取最高权限删除顽固文件?
- php---兄弟连的php培训视频的总结(1)
- 如何为自己的在线办公软件 ONLYOFFICE Docs 服务器的字体库添加字体
- oracle数字进一函数,oracle常用函数一:数字函数
- 出现错误/ncnn/src/cpu.cpp:426: undefined reference to `stderr'完美解决方案。
- es6 扩展运算符 三个点(...)
- 2、金融量化分析简介
- 机器学习面试题总结(转)
热门文章
- ORACLE process爆满,大量process没有对应的session
- macOS Mojave 10.14.6 18G103 正式版 with Clover 5091原版镜像[双EFI双平台终极版]
- win8计算机配置管理模板,win8.1用户帐户配置管理图文详解
- maven 多模块项目如何导入其他模块的第三方 jar 包
- hadoop中使用lzo压缩算法
- 换发型特效怎么制作?建议收藏这些方法
- 《小狗钱钱》思维导图
- Java里的char类型能不能存储一个中文字符?
- 人脸识别学生考勤系统【2】--登录
- 【JAVA】解决mapper绑定异常:nested exception is org.apache.ibatis.binding.BindingException: