下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、vb数据库分页显示记录实例dadaV20190503一、准备工作1、添加控件DateGrid、2个TextBox(TxtPageSize、txtPageMsg)2、打开Access(创建表:系统用户;字段:用户名,身份,口令)效果图二、原理(1)利用记录集的分页特性进行记录分页(2)使用DataGrid控件的数据绑定功能显示分页后的记录1、设计分析记录集的PageSize属性用于设置或返回一个记录也中可包含的记录个数,其默认值为10.显示当前记录页数据有两个方法;方法1:使用DataGrid控件。DataGrid控件会显示记录集中的全部数据,所以不能直接将分页的记录集绑定到DataGrid控件
2、,可以讲当前记录也中的记录复制到一个新的记录集中,再将其绑定到DataGrid控件,便可显示当前记录页数据;方法2:使用MSFLexGrid控件,MSFLexGrid控件可在设计时将其绑定到Data控件,在运行时,则可通过设置控件的TextMatrix属性来显示数据。2、技术要领1)记录集的分页特性PageSize属性:设置或返回一个记录页中可包含的记录个数,其默认值为10;PageCount属性:返回一个记录集的记录页总数;AbsolutePage属性:设置或返回当前记录页编号;DataGrid控件DataGrid控件使用代表记录的行和列来显示数据,并允许对数据进行修改,对数据的修改可以自动
3、保存;DataGrid控件绑定到数据源之后,可自动从数据源中获得数据。DataGrid控件的列与数据源记录集的字段个数相同,而行数则与记录集的个数相同,DataGrid控件还可以将记录集字段名称自动显示为列的名称。注:使用时可将DataGrid控件的DataSource属性设置为ADOData控件或Recordset对象完成数据绑定。DataGrid控件为外部ActiveX控件,使用前需要将其添加到工程中其部件名称为MicrosoftDataGridControl6.0MSFlexGrid控件MSFlexGrid控件和DataGrid控件类似,都是以行列方式显示数据。MSFlexGrid控件可
4、在设计时将其绑定到Data控件,运行时,如果设置控件的DataSource属性则会出错。此时可通过设置控件的TextMatrix属性来显示数据。MSFlexGrid控件的相关属性Cols属性:设置和返回控件的列数;Rows属性:设置和返回控件的行数;TextMatrix属性:设置和返回控件任意单元格的文本内容;MSFlexGrid控件为外部ActiveX控件,使用前需要将其添加到工程中,其部件名称为MicrosoftMSFlexGridControl6.0;)ADO常用方法Append功能:将对象追加到集合中,如果集合是fields,可以先创建field对象然后再将其追加到集合中。格式:1、c
5、ollection.appendobjectCollection:集合对象Object:对象变量,代表所要追加的对象例1:DimobjcmdasnewcommandDimParmasnewParameter创建新的Parameter对象SetParmobjCmd.creadParameter用户名adarCaradParamnput0将Parm追加到Parameters集合中Objcmd.Parameters.appendParm格式:2、fields.Appendname,type,definedsize,attribName:字符串,新field对象名称,不得与fields中的任何其它对象
6、同名;Type:新字段的数据类型,其默认值为adEmpty;Definedsize:可选,指示新字段定义大小,默认definedsize未指定;Attrib:可选,指定新字段属性,默认值adflddefault;注:.在调用fields.append方法前没设置cursorlocation属性,当使用open方法打开recordset时,cursorlocation将被自动设置为aduseclient。.对打开的recordset或已设置actionconnection属性的recordset,调用fields.append方法将引发运行时错误。例2:DimobjDataSourceasnew
7、recordsetDimobiRsasnewrecordsetDimintrecordasintegerForintrecord=0toobjRs.fields.count-1objDataSource.fields.appendobjRs.fields(intrecord).name,adVarChar,_objRs.fields(intrecord).definedSizeNext将记录集的数据都追加到临时记录集的具体代码如下(直接复制可运行):DimobjRsAsNewRecordset,objCnAsNewConnection,intPageAsInteger定义一个过程用于显示当前记
8、录页数据。将当前记录页数据复制到一个新的RecordSet对象中,然后将其绑定到DataGrid控件,从而显示当前记录页数据。PublicSubShowData(ByValintPageAsInteger)实现分页显示记录功能DimintPageCountAsInteger,intRecordAsIntegerDimobjDataSourceAsNewRecordset创建一个局部RecordSet对象保存objrs当前记录页的数据ForintRecord=0ToobjRs.Fields.Count-1objDataSource.Fields.AppendobjRs.Fields(intRec
9、ord).Name,adVarChar,objRs.Fields(intRecord).DefinedSizeNextobjDataSource.OpenobjRs.PageSize=Val(TxtPageSize)重新设置objrs每页显示的记录条数objRs.AbsolutePage=intPage重新设置objrs的当前记录页ForintRecord=1ToobjRs.PageSize将当前记录页中的数据写入objDataSourceobjDataSource.AddNewobjDataSource!用户名=objRs!用户名作用:获得Field(字段)对象的值;讲解:Recordset
10、对象由记录和列(字段)组成;rs(FieldName)与rs!fieldname与rs.fieldname(fieldname).value效果一样;objDataSource!Da=objRs!DaobjDataSource!身份=objRs!身份objRs.MoveNextIfobjRs.EOFThenExitForNextSetDataGrid1.DataSource=objDataSourcetxtPageMsg=intPage&/&objRs.PageCount刷新当期记录页的信息NumberPage.Text=intPageTotalPage.Text=objRs.PageCoun
11、tEndSubPrivateSubcmdNext_Click()IfintPageobjRs.PageCountThenintPage=intPage+1ShowData(intPage)EndIfEndSubPrivateSubcmdPre_Click()IfintPage1Then如果当前页编号不为1,则向前切换intPage=int1ShowData(intPage)EndIfEndSubPrivateSubForm_Load()DimstrSQLAsString,strCnAsStringTxtPageSize=Text1.TextTxtPageSize=5设置记录页大小和当前记录页的
12、初始值intPage=1建立数据库连接strCn=provider=microsoft.jet.oledb.4.0;persistsecurityinfo=false;&datasource=&D:用户目录我的文档数据库Student.mdbobjCn.ConnectionString=strCnobjCn.OpenWithobjRs创建客户端的记录集.CursorLocation=adUseClient.CursorType=adOpenStatic.Open系统用户,objCn,adOpenStatic,adLockReadOnlyEndWithShowData(intPage)显示当前记录页数据EndSubPrivateSubTxtPageSize_KeyPress(KeyAsciiAsInteger)DimbokAsBooleanIfKeyAscii=vbKeyReturnAndTrim(TxtPageSize)Then如果按的是回车键,并记录页大小不是空,则刷新当前记录intPage=1ShowData(intPage)ElseIfKeyAscii=Asc(0)AndKeyAscii=(9)Then检查当前记录的记录页大小是否在有效范围之内bok=Val(TxtP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 零售连锁企业内部审计案例
- 基于网络数据安全的个人信息匿名化技术分析
- 列车延误与应对的调度管理
- 链家房产销售顾问面试问题及解析
- 基于核心素养的古诗文教学方法研究
- 基于激光雷达的夜间驾驶辅助系统研究
- 旅游策划师面试要点分析
- 护理培训:静脉输液技术
- 护理病历书写的基本规范与要求
- 护理护理案例教学法课件与教案分享
- 信访事项复查申请书版
- 尿崩症诊疗规范内科学诊疗规范诊疗指南2023版
- 心律失常的非药物治疗刘金来
- 矿井防治水文常用计算公式
- GB/T 4925-2008渔网合成纤维网片强力与断裂伸长率试验方法
- GB/T 39363-2020金银花空气源热泵干燥通用技术要求
- 复工复产安全检查表
- 第三章表面活性剂的功能与应用
- 心理学主要理论流派课件讲义
- 延1024井马五层酸化压裂设计
- 部编版六年级下册道德与法治全册优秀课件
评论
0/150
提交评论