您的位置:首页 > 编程语言 > Java开发

应用部件库构建应用系统操作手册

2014-07-11 19:11 274 查看
应用部件库构建应用系统操作手册(因本博客系统承载图片不方便,本文去掉所有图片,详细内容请从http://202.114.177.212/sjk/下载)
目 录
一、软部件技术概述 8
1、软部件特点: 9
2、主程序结构 10
3、登录程序 10
4、生成菜单 10
5、建立系统 12
二、表格式数据维护部件设计 12
1、公共显示构件(tableTenance1) 12
2、表格式数据维护部件 (tableTenance2) 12
3、通过选择字段定制视图 (tableTenance5) 13
4、直接录入表格式维护部件 (tableTenance3) 14
5、可进行代码变换的部件 (tableTenance4) 15
6、提供安全性、完整性控制的部件 (tableTenance7) 16
7、单记录与表格式结合界面 (tableTenance11) 19
三、单记录式数据维护部件设计 20
1、布局程序流程 20
2 、单记录界面 数据维护部件1(dataTenance1) 21
3 、可使用字典表与代码表的部件(dataTenance2) 22
4、具有图片显示功能的程序(dataTenance3) 23
5、运行deviseTool程序定义控件位置 25
6、运行completeTool.java设置域完整性约束条件 26
7、运行secureTool.java定义用户操作权限 27
8、可使用字典表代码表的程序(dataTenance4) 28
9、应用下拉组合框显示代码表数据(dataTenance6) 29
10、实现参照完整性控制的设计( dataTenance7) 30
11、多对多联系表数据录入( dataTenance8) 31
四、查询类部件设计 32
1、对单表专项查询(dataQuery1) 32
2、可以使用字典表变换显示字段名的专项查询(dataQuery2) 33
3、可选择字段名与关系符的查询(dataQuery3) 34
4、在查询3基础上考虑使用字典表与代码表的查询(dataQuery4) 34
5、二条件专项查询(dataQuery5) 35
6、 二条件专项查询(dataQuery6) 35
7、二条件专项查询(dataQuery7) 36
8、给定条件表达式的查询(dataQuery8) 37
9、增加输出要求的查询(dataQuery9) 37
10、组合查询(dataQuery10) 38
11、允许对连接起来的多表组合查询(dataQuery11) 38
12、涉及聚集函数的组合查询(dataQuery12 与dataQuery13) 39
13、供实验用通用组合查询(dataQuery) 40
14、文本查询( dataQuery15、 dataQuery16) 42
五、 数据处理类部件设计 43
1、按列统计程序(dataStatistic1) 43
2、按列分组统计程序(dataStatistic2或dataStatistic4 ) 44
3、横向统计程序dataStatistic3 46
4、删除重复记录( dataStatistic5 ) 49
5、求关系并、交、差 50
6、数据转置表或数据交叉表(dataStatistic10与dataStatistic11) 50
六、 数据通信类部件设计 58
1、导出到数据库或文件 59
2、导出到Office文件 60
3、从数据库或文件导入 61
4、从Office文件导入 63
5、从网页导入文本到文本字段 66
七、打印报表部件设计 67
1、表格式报表格式生成程序(printFormat1与printFormat2) 67
2、表格标签式报表格式生成程序(printFormat6) 73
3、单记录式报表格式生成程序(printFormat5) 76
4、单记录标签式报表格式生成程序(printFormat7) 80
一、软部件技术概述
管理信息系统通用软部件是系统业务级大粒度可复用程序
1、软部件特点:
1)是业务级的独立模块。
2)采用从上而下设计方法,复用粒度大。
3)在应用于现场时可以即插即用式地使用,就如同硬件中主板与插件一样。
2、主程序结构
主程序main1.java是应用系统入口,其功能包括环境设置(数据库驱动、时间等设置)、安全性控制(调用系统登录程序)、显示封面、系统公共变量定义、转系统菜单等内容,类似于硬件中的主板。如图10.3为主程序结构的示意。
本系统为适应不同应用系统的需要,用户可以执行“cover.java”根据程序引导预先定义系统标题与副标题、作者数据、日期、背景图像、屏幕高、宽等存放到一个文件(cover.txt)中。
3、登录程序
一般系统都要求具备安全性控制,本系统允许调用一个登录程序,用户输入用户名与密码,经验证的用户名传送到各模块程序中,根据事先规定的权限控制操作者的行为。实现该功能,要求建立“用户表”,并建立接口参数表,在其中规定不同用户对不同对象进行操作的权限,同时在cover.txt中相应位置写入“是”。
4、生成菜单
软件系统运行大多需要通过菜单控制,常用菜单主要是水平下拉菜单与目录树菜单。
其主要功能:(1)提供给用户以操作手段,根据用户需要驱动部件运行。(2)向部件传送具体参数数据,实现具体的功能。 (3)实施模块级安全控制。菜单就如同是硬件主板上的控制器。
本系统提供菜单辅助自动生成程序,界面如图所示。
生成菜单过程简介
1)建立菜单框架
(1)建立根节点下第一级节点:先在“请输入节点名称”文本框中输入第一级节点的名称,用鼠标点击“系统”,再点击“添加节点”按钮,将发现在“根节点”下新增了一个节点。接着输入其他第一级节点的名称,每输入一个,点击一次“添加节点。
(2)建立第二级及以下节点:在“请输入节点名称”文本框中输入欲添加的节点的名称,之后点击所计划的新节点的父节点名称,再点击“添加节点”按钮。例如,先输入“表格式维护”,之后点击“表格式数据维护”,再点击“添加节点”,将发现在“表格式数据维护”菜单项下新添加了“表格式维护”节点。用类似方法可以建其他第二级、第三级及更下级节点。
(2)选择部件并选择输入参数,当选中部件后会将有关系的参数栏激活,无关系的参数栏灰去。 常用参数:
(1)部件名称parameter[0]。根节点及有下一级节点的“枝”菜单项不必填写参数,其他功能节点应输入所选择的部件的名称,是必填项。
(2)数据表名parameter[4]。一般程序都针对某一数据表或某几个数据表操作,需要填入这一个或多个表的名称,如果填入多个表的名称,表名称间要求用逗号分隔。注意后填的表必须与前面的表有同名字段,使能实现连接。
(3)接口参数表名parameter[5]。一些要求较高的程序要求有安全性控制、或要求有数据完整性控制、或对界面涉及的字体、字号、颜色、位置与大小布局等有特殊要求,要求将这些要求按一定格式放在“接口参数表”或文件中保存。系统提供了向导程序辅助生成接口参数表。如果需要实现上述控制,要建立“接口参数表”中,并将表名或文件名填在该文本框中。
(4)关键字名parameter[6]。在进行数据维护、数据通信时,申明关键字名称,可以为多个字段名,彼此用逗号分隔。
(5)字段号表parameter[8]。为了提供给用户以不同视图,实现对表全部或一部分字段的操作,要求将所投影的字段序号记录再本参数中。
(6)按钮号表parameter[11]。本系统中一个部件一般都集成了多种功能,通过多个按钮实现,调用时应根据对功能的需求选择按钮,也就是选择所要求实现的功能,表现不同的视图。
5、建立系统
将所涉及的部件源程序及main1.java、menu.java、login.java、main2.java等文件放在项目的“src”文件夹中,将menu1.txt、cover.txt及其他格式文件放在项目文件夹中,如果涉及公共资源文件,将有关jar文件放到项目的“com”文件夹中。进入eclips、刷新、导入项目、为公共资源文件“构建路径”,之后可运行main1.java程序和main2.java程序。之后右键点击项目名称,选择导出,选导出到可执行jar文件,可分别以main1.java程序和main2.java程序作为引导程序分别生成执行程序包(建立二个应用系统成功)。基于main1.java为引导程序的执行程序采用水平下拉菜单控制。基于main2.java为引导程序的执行程序采用目录树菜单控制。
二、表格式数据维护部件设计
数据库应用系统运行中,业务人员工作量最大的是数据维护,对数据维护要求正确、操作简单、界面美观、提供辅助录入的功能。
表格式界面以行和列形式表现数据表,特别自然、简单,一次能显示多条记录,是数据维护界面的首选。
数据维护泛指添加新记录(录入)、对老记录的修改(修改)、对作废数据删除(删除)等操作。要进行修改与删除,都要先找到记录并将内部指针指向该记录,从操作的角度是将该记录显示在屏幕上,并得到“焦点”。
1、公共显示构件(tableTenance1)
功能:由部件程序调用以显示查询结果,可排序显示表格内容。
调用:tableTenance.tableModel(窗口宽,窗口高,表格列名,列宽度,表格数据,表列数据类型)
说明:内设排序与接续排序按钮。用鼠标在表格某列点击一下之后,点击“排序”按钮,表格将按所点击的字段排序显示。之后可点击另一列,再点击“接续排序”按钮,将在前面排序相同的情况下按新一列再排序。
2、表格式数据维护部件 (tableTenance2)
功能:用于基本表除文本、图形等类型外数据录入、修改、删除操作。
调用:tableTenance2.means(parameter)
参数:“表名”、 “关键字”、 “字段号表”、“按钮号表”。
说明: “字段号表”数据为空时表示针对全部字段。“按钮号表”数据为空时表示全部按钮可用。按钮包括:当前行存盘、删除、修改存盘、退出。其中,录入新记录要录入到空行内,之后必须点击“当前行存盘”才完成录入操作;修改一条记录后必须点击“修改存盘”按钮完成修改;先点击某条记录,再点击“删除”按钮,完成删除当前记录操作。
运行一例:
参数:表名=“学生”;关键字=“NO”
3、通过选择字段定制视图 (tableTenance5)
功能:用于基本表除文本、图形等类型外数据录入、修改、删除操作。如果当前数据库中存在名字以“字典表”结尾的表名,其中包括:字段名、标签名二列,在字段名列中含有所操作数据表中的字段名,则显示表格中字段标签换为字典表中对应的标签名。如果存在包含本表字段名加“代码表”三字的表,则提供代码表选择录入,对于非代码数据,提供公共列表框,列出已经录入的数据供选择录入。
调用: tableTenance5.means(parameter)
参数:“表名”、 “关键字”、 “字段号表”、“按钮号表”。
说明:录入数据需要先添加空记录,之后再“当前行存盘”。也可以连续点击多次“添加空记录”按钮,之后录入各条记录数据,直到全部数据加入到表格中后,再点击“全部数据存盘”按钮,将所有数据存入数据库。
例:当前数据库中有“学生字典表”、“性别代码表”、“班级代码表”。选择部件为tableTenance5,表名为“学生”,字段号为“0,1,2,3,5,10”,按钮号为“ 0,1,2,4”, 关键字为“NO”,字典表与性别代码表内容如右图所示,运行界面如下图所示。
4、直接录入表格式维护部件 (tableTenance3)
功能:无需事先添加新记录,也无需存盘按钮,只要注意最后一行录入完成后要点击下一行任意位置完成存盘,录入效率较高。
调用: tableTenance3.means(parameter)
参数:表名、关键字、要求字段号
说明:最后一行录入完成后要点击下一行任意位置,完成存盘,
例:选择部件为tableTenance3,表名为“学生”,字段号为“”,关键字为“NO”,操作界面如图所示。
5、可进行代码变换的部件 (tableTenance4)
功能:利用代码表实现数据输入的变换,输入代码, 变换成代码所代表的内容。也可借助字典表实现标签的变换。直接录入与修改无需存盘操作。
调用: tableTenance3.means(parameter)
参数:表名、关键字、要求字段号
说明:最后一行录入完成后要点击下一行任意位置,完成存盘。
例:当前数据库中建有“学生字典表”、“性别代码表”、“班级代码表”。选择部件为tableTenance4,表名为“学生”,字段号为“”,关键字为“NO”,操作界面如下图所示,数据库中存放的是代码相应的内容,界面中显示的是代码数据。 ”、“班级代码表”内容如下图所示
6、提供安全性、完整性控制的部件 (tableTenance7)
功能:在定义了安全性要求与完整性控制要求后,根据要求激活按钮,进行存盘时检查数据是否满足约束条件,只有满足条件才能完成录入或修改。
调用: tableTenance7.means(parameter)
参数:表名、关键字、要求字段号。
说明:要求事先建立接口参数表并输入约束性条件。系统提供了程序辅助操作。要求接口参数表的名字为表名加“接口参数表”5字。
运行completeTool4DB()定义数据约束条件
运行secureTool4DB设置用户权限
上述操作后学生接口参数表内容
运行效果:按钮根据要求设置,数据不满足条件将不能录入。
7、单记录与表格式结合界面 (tableTenance11)
功能:数据输入到单记录界面中,点击录入或修改按钮后同时完成表格数据与数据库数据的录入或修改。可以利用字典表变换标签,可以应用代码表实现标准化录入,在单记录界面中采用组合框供代码输入用。
调用: tableTenance7.means(parameter)
参数:表名、关键字、要求字段号。
运行界面
三、单记录式数据维护部件设计
单记录数据维护界面每页仅显示并提供维护一条记录的数据,需要借助“第一条、下一条……”或其他移动指针的按钮程序实现对不同记录的操作。其缺点是不见表格全貌,优点是能完整表现一条记录,特别是表现文本类、图形类型的数据独具优势。程序结构如图所示。
1、布局程序流程
单记录数据维护部件实现关键是如何根据表格结构与视图要求选择控件并自动布局。一般布局程序流程如图所示
2 、单记录界面 数据维护部件1(dataTenance1)
功能:提供单记录显示界面,提供数据显示、录入、修改、删除、浏览等功能。数据输入到单记录界面中,点击存盘或修改或删除按钮后完成对一条记录的维护操作。可以利用第一条等按钮将指针移到其他记录上再做修改或删除操作。也可以点击“浏览”按钮,进入表格式界面,点击另一行,快速移动指针,回到单记录界面后点击“转当前行”对刚选择的行操作。
调用: dataTenance1.means(parameter)
参数:表名、关键字、字段号表、按钮号表。
dataTenance1运行界面
3 、可使用字典表与代码表的部件(dataTenance2)
功能:提供单记录显示界面,提供数据显示、录入、修改、删除、浏览等功能。可以采用字典表变换标签,利用公共列表框列出代码表或历史数据供鼠标点击录入,实现规范化输入并提高数据输入效率。
调用: dataTenance2.means(parameter)
参数:表名、关键字、字段号表、按钮号表。
说明:如果使用字典表或代码表,在当前数据库中要建立相应字典表或代码表,字典表表名中要有“字典表”三字,代码表名字要由某个字段名加“代码表”三字构成,且其字段一个与字段名同名,如果字段名中无代码字样,另一个代码表的字段名由字段名加“代码”二字构成。否则,由字段名去掉“代码”二字构成。
运行dataTenance2一例
4、具有图片显示功能的程序(dataTenance3)
功能:提供包括图片数据的数据显示、录入、修改、删除、浏览等功能。可以建立接口参数表文件实现规范化界面及数据完整性、安全性控制。可以借用工具程序deviseTool.java、completeTool.java、secureTool.java等定义界面中的控件及其位置大小参数、定义数据完整性条件、定义数据安全要求。所有数据存放在一个文件中。
调用: dataTenance3.means(parameter)
参数:表名、关键字、字段号表、按钮号表、接口参数文件名。
说明:如果使用字典表或代码表,在当前数据库中要建立相应字典表或代码表,字典表表名中要有“字典表”三字,代码表名字要由某个字段名加“代码表”三字构成,且其字段一个与字段名同名,如果字段名中无代码字样,另一个代码表的字段名由字段名加“代码”二字构成。否则,由字段名去掉“代码”二字构成。
录入文本数据的操作
参数:parameter1[4]=“学生”;
parameter1[6]=“NO”; //关键字
parameter1[8]=“0,1,3,9”; //选字段,9代表履历
parameter1[11]=“0,1,2,3,4,5,7,9”; //选按钮
录入图片数据的操作
parameter1[8]=“0,1,3,11”; //选字段,11代表图片
点击“存盘”按钮或“修改存盘”按钮后将提问要求输入图片文件名称(bmp或jpg文件)
5、运行deviseTool程序定义控件位置
定义控件位置参数后界面
6、运行completeTool.java设置域完整性约束条件
输入年龄数据不满足约束条件要求拒绝录入
7、运行secureTool.java定义用户操作权限
用户登录操作
运行dataTenance3,选全部按钮,但受权限约束条件限制,删除按钮不能显示,只提供录入、修改操作权限
8、可使用字典表代码表的程序(dataTenance4)
功能:提供包括图片数据的数据显示、录入、修改、删除、浏览等功能。可以建立字典表变换标签、应用公共列表框显示代码表或历史数据使可借助鼠标点击录入,实现规范化输入或提高数据录入效率。
调用: dataTenance4.means(parameter)
参数:表名、关键字、字段号表、按钮号表。
说明:如果使用字典表或代码表,在当前数据库中要建立相应字典表或代码表,字典表表名中要有“字典表”三字,代码表名字要由某个字段名加“代码表”三字构成,且其字段一个与字段名同名,如果字段名中无代码字样,另一个代码表的字段名由字段名加“代码”二字构成。否则,由字段名去掉“代码”二字构成。
dataTenance4运行界面
9、应用下拉组合框显示代码表数据(dataTenance6)
功能:提供包括图片数据的数据显示、录入、修改、删除、浏览等功能。可以建立字典表变换标签、应用下拉组合框显示代码表数据使可借助鼠标点击录入,实现规范化输入。
调用: dataTenance6.means(parameter)
参数:表名、关键字、字段号表、按钮号表。
dataTenance6运行界面
10、实现参照完整性控制的设计( dataTenance7)
功能:提供二个页面,显示具有一对多关系的二个数据表,主界面显示多方表(子表),提供数据录入、修改、删除功能。次页显示一方表(主表)提供数据删除功能。二方联系的同名字段是子表中相对主表的外键,采用组合框表现其数据,其数据来自主表,保证外键数据在主表中一定存在。主表中如果删除一条记录,将提问是否同时删除子表相关联的所有记录,避免违反参照完整性约束条件。
调用: dataTenance7.means(parameter)
参数:主表名、外键、子表名、关键字、字段号表、按钮号表。
子表中外键数据只来自于主表数据
主表做删除操作时将提问是否同时删除子表所关联的数据。
11、多对多联系表数据录入( dataTenance8)
功能:提供关于多对多联系表数据维护功能。多对多联系表中主属性分别是二个主表的外键,其数据常常直接来自主表,在录入数据时如果预先填写主表中相关联数据,操作者只需要填写多对多联系自身属性的数据,将有利于提高数据准确性及数据输入效率。。
调用: dataTenance8.means(parameter)
参数:主表名1、主表名2、子表名、关键字、字段号表、按钮号表、条件表达式1、条件表达式2。
说明:运行程序后,也可修改二个条件表达式,变换表格数据内容,组织其他数据录入。
dataTenance8运行界面,、
参数:主表名1="学生"; 主表名2="课程";
子表名="成绩"; 关键字="NO,课号";
条件表达式1="班级='201103'";
条件表达式2="课名='计算机基础'";
四、查询类部件设计
根据某种条件在一个表或多个表中查找记录并做进一步处理,是一般应用系统都要求的功能。查询类部件的功能是提供用户一个友好界面,使能迅速描述查询要求,快速组成SELECT语句,实现查询并按用户需要的格式显示或输出查询结果。
1、对单表专项查询(dataQuery1)
这是应用系统使用最多的查询模块,操作者针对具体字段直接填入数据找到该字段等于该数据的所有记录显示或进一步处理。查询部件1要求参数:表名、字段名、关系符。关系符限用中文:大于、等于、小于、大于等于等。
查询结果显示
2、可以使用字典表变换显示字段名的专项查询(dataQuery2)
为方便用户,对于采用非中文字段名的查询借用字典表变换界面,可使界面更容易理解,更方便操作。查询部件2除字典表外和查询部件1功能相同。如果要求字段名称变换,在当前数据库中需要名字以“字典表”结尾的数据表。参数包括:表名、字段名、关系符、字段号表等。
3、可选择字段名与关系符的查询(dataQuery3)
有些中层应用人员查询对象多样,难以预先确定需求, 查询部件提供运行时选择字段、选择关系符再输入数据后组织查询的功能。调用参数包括:表名、字段号表。
4、在查询3基础上考虑使用字典表与代码表的查询(dataQuery4)
实际应用系统的一个数据表往往联系有多个代码表,查询目标可能是代码数据。查询4参数包括:表名、字段号表。在填写表名时要求先填主表,再逐一填写代码表名字。
5、二条件专项查询(dataQuery5)
类似于查询1,可定义二个查询条件。调用参数包括:表名、字段号表、字段名1、关系符1、字段名2、关系符2。表名可包括代码表。
6、 二条件专项查询(dataQuery6)
类似于查询5,可应用字典表变换标签。
7、二条件专项查询(dataQuery7)
提供四个下拉组合框,分别存放字段名与关系符,操作者可选二个字段与二个关系符,组成二条件查询界面。可应用字典表变换标签,可连接多个表查询。
调用参数包括:表名、字段号表。
8、给定条件表达式的查询(dataQuery8)
如果以表达式方式给出查询目标,会有更宽适应性。调用参数包括:表名、字段号表、条件表达式。条件表达式允许二条件,用中文字”与”相连。下图中条件表达式为:“分数大于?与性别等于?"
9、增加输出要求的查询(dataQuery9)
有些时候,输出内容比查询对象要狭窄,还可能涉及表达式。查询9在查询8的基础上允许再定输出要求。调用参数包括:表名、字段号表、条件表达式、输出要求 。输出要求是在字段号表范围内增加输出内容有关表达式的集合。需要注意的是,(1)如果涉及函数、运算表达式,其中涉及的字段名是二个表同名字段,前面要加表名和点。(2)如果涉及聚集函数,其中涉及的字段只能是聚集函数涉及的字段。(本程序未提供分组计算功能)。(3)聚集函数只限SQL语句能识别的函数表达式。
例如:字段号表=“0,1,2,3,4,5,6,7,10,13,18,19”;(其中包括分数与性别),条件表达式=“分数大于?与性别等于?”;
输出要求=“sum(分数)”;
调用命令:dataQuery9.means(parameter1)
10、组合查询(dataQuery10)
对于需求难定的查询,要求提供更灵活的生成查询语句的手段。组合查询引导操作者生成更复杂的查询语句,功能强,但对使用者素质要求提高。查询10 是最基本的组合查询程序。调用参数只有一个:表名。
11、允许对连接起来的多表组合查询(dataQuery11)
调用参数包括:表名、字段号表。其 中表名可以是能连接成一表的多表的表名。
程序实现的关键是涉及到多表间相同名称的字段在调用时必须加表名和点,在选输出字段、构成条件表达式时都必须注意这一点。
12、涉及聚集函数的组合查询(dataQuery12 与dataQuery13)
SQL查询语句不仅可以实现关系代数的连接、选择与投影,而且可以进行初步的数据处理,使用聚集函数可以进行简单的数据统计。
查询12、13允许将聚集函数列入到输出集合中,而且允许分组统计、可以要求排序输出;还可以采用字典表进行标签的改变。
13、供实验用通用组合查询(dataQuery)
供实验用的组合查询程序要求更加灵活。dataQuery程序提供从选表、选输出内容、输出到表、组合条件包括分组条件等一般sql语句向导式生成与执行功能。关于多表连接,将生成关系连接与外连接等不同表达式,包括连接表达式与嵌入式表达式,提供操作者执行。操作者还可以手工修改所生成的SQL语句,之后执行语句。
首先选择表,选第2表时提问是等值连接还是选某一种外连接。
生成二种类型的SQL语句,可分别执行。
14、文本查询( dataQuery15、 dataQuery16)
文本管理是数据管理的重要内容,对文本检索需要根据其包含的内容直接查询。应用本部件查询时先选择字段,再输入检索字,点击“文本检索”按钮完成查询。检索字要求按一定格式输入:
检索字区分大、小写。
空格、|、-、( )、#、*均为特殊意义字符(注意均应为英文字符), 字符两边不要有空格。
空格表示要求两边内容均要包含在内。
“|”表示要求两边内容至少有一个包含在内
“-”表示后边内容不包含在内。
“( )”表示其内部分为整体内容,全要满足。
“#”表示在查找的二个词间可能有若干个任意的字符,
任意字符的个数不多于#号的个数。
“*”表示在查找的二个词间可能有任意多个任意字符。
dataQuery16运行时将生成的SQL语句显示在屏幕上,可修改之后再执行。
dataQuery15文本查询界面
五、 数据处理类部件设计
管理信息系统中常常要求对数据进行如统计、分析、变换、切分或组合……等多种处理,类型繁多,无法枚举,只能选择用的比较多的先建立函数库供选择调用。
根据界面情况和数据表情况可分为横向处理与纵向处理二大类,进一步可实现综合处理。横向处理指数据处理以行为单位进行,包括统计、变换、分析、切分、组合等;纵向处理指以列为单位,可以分组进行统计、分析等处理。
1、按列统计程序(dataStatistic1)
功能:对全表若干字段进行求和或求平均或求最大或最小或记录条数或标准偏差或填充标准偏差或统计方差或填充统计方差等,统计数据添加在数据表最后一行中。
要求提供的参数:表名、字段号表、要求统计的字段、统计类型要求。
“统计要求”从求和、求平均、求最大、求最小、求记录数、求统计标准偏差stdev、求填充统计标准偏差stdevp、求统计方差var、求填充统计方差varp等项目中选择一个。
考虑到某些数据库不存在计算上述某些量的函数,本程序应用编程计算方法求有关统计值。
如果设置参数:表名=“工资表”;
字段号表=“6,7,8,9,2,4,5”;
统计字段=“基本工资,职务工资,绩效工资,其他补贴”; 统计类型=“求和”;点击“统计”运行如图所示。
2、按列分组统计程序(dataStatistic2或dataStatistic4 )
所选参数:表名="工资表"; 字段号表="2,4,5,6,7,9";
统计字段="基本工资,绩效工资,其他补贴";
分组字段="部门";统计类型="求和";
之后如果点击导出,输入文件名,选择导出内容
3、横向统计程序dataStatistic3
用于求每条记录中若干数字类类型字段的计算数据存入某一列或新生列之中。
要求提供的参数:数据库表名、要求显示的“字段号表(parameter[8])、 “按钮号表(parameter[11])、要求统计的字段名表“(parameter[9])”、统计类型要求(parameter[13])”、“结果字段名:parameter[10]结果字段名如果为原表中字段名,表示将结果存入该列。如果是新名,表示产生新列。统计类型要求包括以下各项。
p01:统计方差∑(Xn-μ)^2 /(n-1)(标准偏差的平方)(数字类型字段名1,数字类型字段名2 [,数字类型字段名3 ...])
p02:标准偏差Sqr(∑(Xn-μ)^2 /(n-1))(数字类型字段名1,数字类型字段名2 [,数字类型字段名3 ...])
p03:平均偏差∑(|Xn-μ|)/n(数字类型字段名1,数字类型字段名2 [,数字类型字段名3 ...])
p04:数字变为中文大写元角分(壹仟零叁拾元)(数字类型字段名)
p05:数字变为中文元角分(一千零二十元)(数字类型字段名)
p06:数字变为表格格式中文大写元角分(壹仟零佰贰拾零元)(数字类型字段名)
p07:数字变为表格格式中文元角分(一千零百二十零元)(数字类型字段名)
p08:变表格格式中文元角分(一仟零三十元零三角)为数字(字符类型字段名)
p09:变表格格式中文大写元角分(壹仟零百贰拾零元叁角零分)为数字(字符类型字段名)
p10:变中文元角分(亿,千,百,十,万,千,百,十,元,零,一,二,三,四,五,六,七,八,九)为数字 (字符类型字段名)
p11:变大写中文(亿,仟,佰,拾,万,仟,佰,拾,元,零,壹,贰,叁,肆,伍,陆,柒,捌,玖)为数字 (字符类型字段名)
p12:用大写字母返回指定的字符表达式(字符类型字段名)
p13:根据字符串求变换为UTF-16BE码(字符类型字段名)
p14:返回数字型星期值(日期类型字段)或(日期时间类型字段)
p15:返回年份(日期类型字段)
p16:返回字符型星期值(日期类型字段)或(日期时间类型字段)
p17:日期时间表达式的小时部分(日期时间类型字段) 或(时间类型字段)
p18:日期时间型表达式中的分钟部分(日期时间类型字段) 或(时间类型字段)
p19:日期或日期时间表达式的月份值(日期时间类型字段)
p20:日期时间型表达式中的秒钟部分(日期时间类型字段) 或(时间类型字段)
p21:日期时间表达式中返回一个日期值(日期时间类型字段)
p22:返回给定日期表达式中二个日期数据前一个日期减后一个日期间隔天数(二个日期类型字段,逗号分隔。)
p23:以日期时间值返回当前的日期和时间(日期类型字段)
p25:变日期为数字年月日(2003年 1月15日)(日期类型字段)
p26:变日期格式为字符****.**.**格式(日期类型字段) )
p27:变日期格式为字符****-**-**格式(日期类型字段)
p28:变日期格式为字符********格式(YYYYMMDD)(日期类型字段)
p29:变中文年月日(二零零三年元月十五日)为日期格式(字符类型字段名)
p30:变数字年月日(2003年 1月15日)格式为日期格式(字符类型字段名)
p31:返回给定日期或日期时间表达式的月份英文名称(日期类型字段)或(日期时间类型字段)
p32:求和(数字类型字段名1,数字类型字段名2 [,数字类型字段名3 ...])。
p33:求平均(数字类型字段名1,数字类型字段名2 [,数字类型字段名3 ...])。
p34:求最大(数字类型字段名1,数字类型字段名2 [,数字类型字段名3 ...])。
p35:求最小(数字类型字段名1,数字类型字段名2 [,数字类型字段名3 ...])。
例如,如果统计要求( parameter[13])选 p01,即要求求统计方差,则可以输入三个以上的字段名,
对每条记录中这多个字段的数据求统计方差值。
又例如,统计要求为p04,即求根据某一整数型字段中的数据,求将其变为简述中文大写元角分表示的数据
在“字段号表3(即参数parameter[10])”处可以输入单个字段名,为保存统计结果的字段名,
如果为已有字段名,将用统计数据更新该字段数据,否则新生成该字段。
在“统计要求(即参数parameter[13])”处的参数只能为p01、p02、p03、……、p35中某一个。
在生成菜单程序中将选择代码与内容连在一起显示,使方便操作。
例如要新增一列,填入当前日期
主要参数:
parameter1[4]=“工资表”; //表名
parameter1[10]=“时间”; //目的字段
parameter1[13]=“p23”; //统计函数名称
点击统计,效果如下图。
4、删除重复记录( dataStatistic5 )
在实际应用系统中,常常有查找重复记录并予删除的需求。运行界面如图所示。
5、求关系并、交、差
关系差找出第一表中与第二表不同的记录。关系并实现二个同结构表数据合并。关系交找出二表相同记录。这些在实际应用系统中都有应用需求。
程序dataStatistic6、 dataStatistic7、dataStatistic8分别完成上述关系运算,并更新数据库中数据。要求参加运算的二个表必须结构相同。程序运行界面包括二个窗口,一个窗口显示源表数据,第2窗口显示关系运算结果。
6、数据转置表或数据交叉表(dataStatistic10与dataStatistic11)
应用系统常有对一行中若干数据进行比较,或找出某二列或某三列甚至更多列数据之间关系的需求。
dataStatistic10用来生成转置表或单数据交叉表,之后可以打印,可以显示柱面图、圆饼图或折线图,以更形象地表现数据之间大小关系。
dataStatistic11也用来生成数据交叉表,只是纵向分组数据可以是二列以上的数据。
调用参数包括:表名与字段号表。其中,表名可包括多个表的名字。如果求交叉表,字段号表限填3个字段(纵向分组字段、横向分组字段、交叉数据字段)。 dataStatistic11的纵向分组字段可填多个字段。如果求转置表,字段号表第1个字段为纵向分组字段,其他字段为统计数据字段。
例1、生成转置表
转置表指原数据表的行变成列,列变成行后形成的表。
例如工资条生成程序,假如工资数据表结构为姓名、基本工资、职务工资、绩效工资、公积金、……,除姓名外其他数据均为数字类型。生成的转置表第一列为原字段名称,内容例如为姓名、基本工资、职务工资、积效工资、公积金、……其他各列为原表各行记录中对应的数据。
调用部件: dataStatistic10,主要参数:
parameter1[4]="工资表";
parameter1[8]="5,6,7,8,9,14,17";
其中5代表姓名,其他列均数字类类型。
进入界面,点击“生成转置表”按钮
如果要显示某一行数据间关系,需要用鼠标点击该行,如果要比较全部数据直接点击“显示统计图”例如,点选第3行。
选择统计图形类型,选1(如果上一步未点击任何一行,只能选2)
显示柱面图
例2、生成交叉表
交叉表指根据原数据表的三列数据生成反映三列数据之间关系的表。
例如成绩分析程序,假如将学生、成绩、课程三个数据表连接后抽取姓名、课名、分数等三列数据,分数为数字类型。生成的交叉表第一列为原姓名字段内容,第一行标题栏为各课程名称,表中数据为姓名、课名所对应的内容。
调用部件: dataStatistic10,主要参数:
parameter1[4]="学生,成绩,课程";
parameter1[8]=“1,14,13"; //姓名、课名、分数
运行情况:选择行为“姓名”,列为“课名”,交叉数据为“分数”。点击“生成交叉表”。
显示交叉表,准备显示所有人的比较数据,可以不选行,直接点击“显示统计图”
选择2
7、 一元线性回归曲线( dataStatistic12)
在应用系统中,常常要求提供某些表现二个数据之间关系的数理统计曲线,例如一元线性回归曲线。
例如有反映合金钢含碳量与抗拉强度、延深率的合金钢成分表,需要分析含碳量与抗拉强度之间是否存在线性关系,以分析当含碳量为某值时,抗拉强度数据大约是多少。可以调用部件: dataStatistic12,主要参数:
parameter1[4]="合金钢成分表";
选择纵向数据、横向数据,为了让图形表现清晰,需要设置二坐标数据比例系数。
显示回归曲线与回归方程如图所示。
六、 数据通信类部件设计
在程序与程序之间、一个系统与另一个系统之间、人与人之间往往需要有大数据量的交互,其交互一般通过文件、其他数据表作为媒介。一个系统或程序可以将数据转存到其他文件或数据表中,称为导出;另一系统或程序可以从文件或其他数据表中将数据读取并转存到当前表中,称为导入。
例如目前相当多系统都要求将数据转存到Excel文件中,或从Excel文件中将数据导入到当前表中。
根据导出地或导入源大致可分为导出到数据库或从数据库导入、导出到文件或从文件导入二大类,如果涉及文件,又可分为纯文本文件与有格式文件二大类。纯文本文件根据字段分隔格式可将导出方式分为标准格式、紧缩格式、自定义格式等多种。标准格式文件意义是每条记录存为一行,每个字段均为固定长度,字段间无分隔符,其长度等于数据表定义或默认的宽度。紧缩格式指数据按自身实际长度存放,为区分不同字段的数据,除数字类型外,其他数据要用双引号或其他自定义的分隔符分隔。自定义格式可以是单个特殊字符,也可以是多个字符。如果导入、导出设计文本类型字段,在数据中有双引号一类符号,则只能用自定义分隔符。
有格式文件常见的例如Word、Excel、PDF、XML等类文件。由于Office文件结构有变化可能,导入或导出程序常需依赖于该类文件系统的dll文件,一般需要下载公共软件包才能方便地进行导入或导出。
根据导出的数据或导入的数据与原有数据库中或文件中数据间的关系,导入与导出又可分为覆盖式、添加式与修改式三种。覆盖式指原来如果存在表或文件,先删除原文件内容,在填入新数据;如果原来表或文件不存在,则先建表或新建文件,之后将数据填入。添加式则将数据填充到原数据的尾部。修改式指根据关键字,对存在相同关键字值的数据修改方式填入,否则添加进去。
本系列部件分为覆盖式导出到数据表、纯文本文件、XML文件;添加式导出到数据表、纯文本文件、XML文件;修改式导出到数据表、纯文本文件、XML文件;覆盖式导出到Office文件;添加式导出到Office文件;修改式导出到Office文件;从数据表、纯文本文件、XML文件覆盖式导入;从数据表、纯文本文件、XML文件添加式导入;从数据表、纯文本文件、XML文件修改式导入;从Office文件覆盖式导入;从Office文件添加式导入;从Office文件修改式导入等。
1、导出到数据库或文件
覆盖式导出:dataTransfer1
添加式导出:dataTransfer2
修改式导出:dataTransfer3
需要设置参数:表名、字段号表、按钮号表;如果导出到数据库,需要给出:DBMS名、ODBC名、目的数据表名;如果导出到文件,需要给出:文件名。
如果是修改式导出,还需要给出关键字。到文件限纯文本文件与XML文件,导出到纯文本文件包括标准格式、紧缩格式、自定义格式等三种。
如果表名=“学生”;字段号=“0,1,2,3,4,5,6,7,8,9,10”;
按钮号=“”;运行dataTransfer1界面如下。
如果导出到数据表,存在字段类型转换的问题,程序中设置了对照表,导出导入的数据表要求按此表定义数据类型或自行修改此对照表。
类型对照表={
{"java" ,"string","string","string" ,"int" ,"int" ,"string","string" ,"string","string","boolean","byte" ,"short" ,"long" ,"float" ,"int" ,"double","float" ,"float" ,"byte[]"},
{"sqlserver","char" ,"nchar" ,"nvarchar" ,"int" ,"float" ,"datetime" ,"datetime","text","ntext" ,"bit" ,"tinyint","smallint","bigint" ,"numeric" ,"integer","double","money" ,"real" ,"image"},
{"vfp" ,"c" ,"c" ,"c" ,"i" ,"n" ,"d" ,"t" ,"m" ,"m" ,"l" ,"i" ,"i" ,"i" ,"n" ,"i" ,"n" ,"b" ,"y" ,"g" },
{"access" ,"text" ,"text" ,"text" ,"integer","integer" ,"date" ,"date" ,"memo" ,"memo" ,"logical","integer","integer" ,"integer","float" ,"integer","float" ,"float" ,"float" ,"general"},
{"oracle" ,"char" ,"char" ,"char" ,"number" ,"number" ,"date" ,"date" ,"long" ,"long" ,"char" ,"raw" ,"number" ,"number" ,"number" ,"number" ,"number" ,"number","number","blob"},
{"mysql" ,"char" ,"char" ,"varchar" ,"int" ,"float" ,"date" ,"datetime","text" ,"text" ,"tinyint","tinyint","smallint","bigint" ,"float" ,"integer","double" ,"float" ,"float" ,"blob"}
2、导出到Office文件
覆盖式导出到Office文件(dataTransfer4)添加式导出到Office文件(dataTransfer5)修改式导出到Office文件(dataTransfer6)
需要设置参数:表名、字段号表、按钮号表、文件名。在程序中可根据导出文件类型自动变换扩展名。
如果是修改式导出,还需要给出关键字。 Office文件包括Word文件、Excel文件、PDF文件等三种。
导出到Office文件程序运行界面。
3、从数据库或文件导入
覆盖式导入:dataTransfer7
添加式导入:dataTransfer8
修改式导入:dataTransfer9
需要设置参数:表名、字段号表、按钮号表;如果从数据库导入,需要给出:DBMS名、ODBC名、目的数据表名;如果从文件导入,需要给出:文件名。
如果是修改式导入,还需要给出关键字。到文件限纯文本文件与XML文件,导出到纯文本文件包括标准格式、紧缩格式、自定义格式等三种。自定义格式中分隔符要和导出保持一致,否则导入不能成功。
如果表名=“学生”;字段号=“0,1,2,3,4,5”;
按钮号=“”;运行dataTransfer7界面如下。
如果从数据表导入,也存在字段类型转换的问题,程序将根据对照表完成数据类型名称的转换。运行dataTransfer7 显示情况如下。
4、从Office文件导入
从Office文件覆盖式导入(dataTransfer10)
从Office文件添加式导入(dataTransfer11)
从Office文件修改式导入(dataTransfer12)
需要设置参数:表名、字段号表、按钮号表、文件名。在程序中可根据导出文件类型自动变换扩展名。
如果是修改式导入,还需要给出关键字。 Office文件包括Word文件、Excel文件、PDF文件等三种。如果从PDF文件导入。不支持大数据类型,每字段宽度不超过50字符。只能对由dataTransfer4.java生成的PDF文件进行导入。
设计office文件导入或导出,需要下载5个软件包:iText-5.0.5.jar、jacob.jar、PDFBox-0.7.3.jar、poi-3.8-20120326.jar、poi-scratchpad-3.9-20121203.jar并构建在路径中。操作如图所示,选配置构建路径。
选库,选添加外部JAR,选择包文件到库中
从Office文件导入程序运行界面。
5、从网页导入文本到文本字段
导入界面如图所示。可以导入网页的源程序,也可以导入经筛选的网页的文本内容。
七、打印报表部件设计
打印报表是各类应用系统中特别受用户看重的内容。本系统个别程序提供由JAVA语言提供的打印功能,但很难满足用户要求。本系统提供向导程序辅助生成报表格式文件,然后调用打印预览或打印程序根据所生成的格式文件组织打印。
包括五组部件:1)表格式报表格式生成、打印预览、打印部件。 2)表格标签式报表格式生成、打印预览、打印部件。3)单记录式报表格式生成、打印预览、打印部件。 4)单记录标签式报表格式生成、打印预览、打印部件。5)表格式统计报表格式生成、打印预览、打印部件。
1、表格式报表格式生成程序(printFormat1与printFormat2)
表格式报表指以表格形式表现数据并打印的报表。其格式内容包括报表标题、表格表头定义、表体数据定义、分组要求定义、表尾定义、报表尾定义等六部分。
printFormat1生成的格式文件用于dataPreview.java预览报表情况,或调用dataPrint.java打印报表。其他调用构件:dataPreview和dataPrint1的程序也采用这一格式文件
printFormat2增加了关于分组的格式说明,生成的格式文件用于dataPreview5.java预览报表情况。
第1页界面输入报表标题、所在行号、列号、宽度与高度(输入时以字符个数为单位)、左边距、到顶距、字体字号等内容。可以设置多行内容,例如单位、作者、日期等。每份报表打印一次。输入完毕需要点击“辅助计算”改换宽度等数据单位为象素点单位。
第2页设计表头部分,包括标签名称及其属性值,每页打印一次。默认表格都打印表格线,考虑到有的行或列可能划分为多行或多列,设计时需要考虑每一个标签下方是否有表格线、右方是否有表格线。表头最下一栏所有内容都应当有下表格线,最右一列文字右边都应有表格线。如下内容输入完毕后可手工修改标签,例如将英文内容改成中文。之后点击辅助计算。
第三页设计表体部分,将打印数据表中数据,每行记录打印一次。输入内容包括字段名称、宽度、高度(均以字符个数为单位)、字体、字号、有无下表格线、有无右表格线等内容。以下是点击”辅助计算“后截图。
第4页设计页尾,每页打印一次。
第5页设计报表最后一部分内容。
修改数据之后预览效果图
2、表格标签式报表格式生成程序(printFormat6)
为了节约打印纸,常常需要将一个打印文本复制多份放在一页内打印,例如商业上的标签式将同样内容复制多份;工资条或成绩单需要在一页打印纸上打印多个人的成绩单或工资条,内容属于不同记录,但格式完全一样。本程序生成表格格式重复的标签格式文件,打印程序可以灵活打印相同或不同的多份标签式报表。
设计时先设计一个标签,之后选择在纵向复制的份数与横向复制的份数,就可完成设计。
第1页、工资条单表格内容设计
第2页、重复次数设计
包括纵向重复次数、块间间隔大小;横向重复次数、块间间隔大小等;
进入工资条预览程序,选打印的第一条记录,点击依次打印记录
效果图
3、单记录式报表格式生成程序(printFormat5)
单记录式报表指以每页一条记录数据的形式表现数据并打印成报表,常见入履历表、公文文件、报告、通知等。其格式内容包括报表标题、表体数据定义、报表尾页定义等三部分。表体数据包括字段数据、标签或某些说明文本(填在“内容”中);格式文件需要说明每一打印内容行列位置、宽度、高度、到左边距离、到顶距离、字号与字体等数据。
第1页、报表标题设计
第2页,表体设计
第3页、报表尾页设计
报表格式文件设计完成后可调用程序:dataPreview2.java预览报表情况,或调用dataPrint2.java打印报表。
选第一行后点击“当前记录预览”运行效果如图所示,点击“预览下一条”可继续预览下一条记录
4、单记录标签式报表格式生成程序(printFormat7)
单记录标签例如名片、相片、商业上的标签等也是将同样内容复制多份。结构相同,内容相同或不同。
设计时也先设计一个标签,之后选择在纵向复制的份数与横向复制的份数,就可完成设计。
设计单个标签,纵向与横向模块数均选2
点击“标签结构设计”进行复制
dataPreview4.java预览报表情况,或调用dataPrint4.java打印报表。
作业
按学生名册学生序号从“课程设计参考题.txt”中每人定一题,同班同学不重题。完成设计、制作、调试并书写设计报告上交。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息