基于Asp.net的通用数据填报系统的设计与实现
2014-03-19鞠宏军杜丽娟
鞠宏军,杜丽娟
(华北科技学院计算机学院,北京东燕郊 101601)
0 引言
数据填报、查询及Excel导入导出操作是计算机管理信息系统不可缺少的功能。在目前的管理系统中,以上操作涉及的数据表及字段定义都是预先定义好的。若需要处理管理系统中没有的数据表及字段结构,就不能实现。解决的方法是修改系统,添加新的数据表,并扩展对添加数据表的相应程序功能。但修改程序扩展数据表操作对于非计算机专业人员来说,很难实现[1-3]。针对这种问题,本文结合实际应用,介绍了一种以Asp.net为开发工具,以Oracle为后台数据库的通用数据填报系统,可以在不修改任何程序的情况下,由系统管理员通过功能菜单自由添加数据表、定义数据字段;客户端自动生成相应填报表格界面,用户可以自由添加、修改、删除数据,也可以通过下载Excel模板,上传Excel数据文件,实现批量数据填报;同时系统管理员也可以对填报的数据表进行后台维护、自定义组合查询及Excel导出[4-5]。
1 数据存储设计
系统设置填报系统表,用于管理员定义系统名称、查看数据表填报状态等信息,具体字段设计如表1。
表1 填报系统表
为实现填报系统字段的自定义,设置字段表存储各系统的字段名称、字段类型、数值小数位数、文本字符长度等,其中zdmc存储中文名称用于显示,zd为系统自动生成,用于内部建表、查询等操作。具体字段设计如表2。
系统管理员在表1中添加某填报系统名称,然后在表2中定义该系统数据表的字段信息。定义字段结束后,生成相应的数据存储表,存储表表名采用tbxt_sjb+系统表名id,如tbxt_sjb0001、tbxt_sjb0002等;自动生成的数据表字段为表2中预定义的d001、d002……。
2 系统功能及界面设计
系统功能分管理端和客户端两部分。管理端主要实现填报系统管理、数据字段定义、数据维护、自定义组合查询及导出等操作;客户端只有数据填报功能。根据系统使用流程,各功能界面设计如下:
2.1 系统管理及字段定义
系统管理员维护系统列表,可以添加、删除系统名称,查看系统数据表创建状态及使用状态,也可以设置系统正在使用或暂停使用,系统管理界面如图1所示。定义好的系统可以在图2中定义数据字段。
2.2 数据填报
系统管理员添加系统、定义字段后,点击创建数据表,系统自动创建数据表和对应的Excel数据模板。在客户端,用户选择某填报系统后显示出对应数据表格,此时既可以直接进行数据添加、删除、修改等维护操作,也可以下载Excel模板进行批量数据导入[6-8]。系统数据填报界面如图3,模板下载、数据粘贴及上传界面如图4、图5、图6。
2.3 数据维护及查询导出
用户在客户端填报数据完成之后,系统管理员可以在后台进行数据修改、Excel导出、数据清空等维护操作;也可以对数据进行自定义组合查询,将需要的结果导出到Excel表中[9]。后台数据维护界面如图7,自定义查询界面如图8。
3 系统实现
系统开发采用目前较为流行的B/S模式,开发工具为Visual Studio 2010,开发语言使用C#,后台数据库采用Oracle 11g[10-11]。
数据表的动态创建,是根据管理员对系统和字段的定义,动态生成SQL CREATE TABLE语句实现。具体关键代码如下:
图1 填报系统列表
图2 系统数据字段定义
图3 数据维护界面
图4 模板下载
图5 模板数据粘贴
图6 模板数据上传
图7 后台数据维护
图8 自定义组合查询及Excel导出
其中ExcelMBCreate()函数创建模板及后期的Excel数据导入、导出操作,采用在.Net平台上调用Office应用程序对象模型和相关的程序集实现,具体实现类似于VBA编程。
系统中的自定义组合查询,采用和创建数据表类似的思想,动态生成SQL查询语句实现。
4 结论
本文主要阐述了基于Asp.net的通用数据填报系统的设计与实现,系统实现了数据表字段自定义、输入界面及模板动态生成、自定义组合查询、查询结果的Excel动态生成及导出等功能。系统设计中采用的字段动态定义、数据表动态生成、SQL动态生成、Excel处理等技术,解决了传统管理信息系统扩展性、灵活性差的问题,具有一定的先进性、实用性和推广价值。
[1] 鞠宏军,杜丽娟.基于Web的期末考试考务管理系统的设计与实现[J].华北科技学院学报,2013,4:63-67.
[2] 鞠宏军,杜丽娟.Web表格批量数据录入的控制及实现[J].电脑知识与技术,2012,3:1473-1477.
[3] 马珊丹.学分制下成人高教课程重修信息管理子系统的设计[J].湖北大学成人教育学院学报,2012,12:32-34.
[4] 林伟.基于Asp.net与Oracle的通用多媒体数据处理[J].电子知识与技术,2011,8:53-56.
[5] 余勇智.通用试题库系统的设计与实现[D].成都:电子科技大学,2013.
[6] 郑齐心.ASP.NET项目开发案例全程实录[M].北京:清华大学出版社,2011.
[7] 炎士涛.ASP.NET项目开发案例精粹[M].北京:清华大学出版社,2011.
[8] 洪石丹.ASP.NET范例开发大全[M].北京:清华大学出版社,2011.
[9] 庞娅娟,房大伟.ASP.NET从入门到精通[M].北京:清华大学出版社.2012.
[10] 张领.ASP.NET项目开发全程实录[M].清华大学出版社,2012.
[11] 余金山.ASP.NET 2.0+SQL Server 2005企业项目开发与实战[M].电子工业出版社,2012.