这几天我一直在看数据库。每一个实例,我都是先看制作特点、设计分析、技术要领,然后实际操作,敲代码。
敲代码时,先读每一段代码前面的宋体字,我把它当注释。然后敲代码的过程就是我读代码的过程。读不懂了,就再看看前面的宋体字,一定不要忘了我们这一段代码的目的是什么,要实现什么功能。
通敲完之后,检测运行结果,调试;然后分析各个功能块之间的关系,理清它们之间的逻辑顺序;最后,在我们的头脑中模拟代码的运行。
实例4 分页显示记录
A制作特点:——名为制作特点,却是我们要实现这一功能,首先要想到的可实现性。
a.利用记录集的分页特性进行记录分页。
b.使用DataGrid控件的数据绑定功能显示分页后的记录。
B设计分析:——在上一步可实现性的基础上,讲解如何实现,实现方法。
<1>DataGrid控件。DataGrid控件会显示记录集中的全部数据,所以不能直接将分页的记录集绑定到DataGrid控件。可将当前记录页中的记录复制到一个新的记录集中,再将其绑定到DataGrid控件,便可显示当前记录页数据。
<2>使用MSFlexGrid控件。可在设计时将其绑定到Data控件。在运行时,可通过设置控件的TextMatrix属性来显示数据。
C技术要领:——具体操作细节,基础知识。
1.记录集的分页属性:PageSize,PageCount,AbsolutePage
2.DataGrid控件:绑定到数据源后,可自动从数据源获得数据。行数-记录数,列-字段。
3.MSFlexGrid控件:Cols属性,Rows属性,TextMatrix属性。
代码过程中,书上有一段代码有误:
想要实现的功能是,通过txtPageSize的KeyPress事件,在修改记录页大小时同步刷新当前记录页数据。
原代码如下:
if的条件(按Enter且txtPageSize.Text非空时),刷新记录,与elseif条件(0<=数值<=9),及其嵌套if条件(<1,>10),逻辑关系混乱。
后修改代码如下:
运行错误,仔细一看,才发现,外层if语句没有执行代码,最后修改结果:
通过这次自己思考逻辑关系,调试、修改,我知道,原来我也是可以写代码di~~,呵呵。