logo资料库

论文研究-基于ASP.NET技术的Web人事管理信息系统的设计与实现.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
第 11 期 陈 旭等: 基于 ASP. NET 技术的 Web 人事管理信息系统的设计与实现 ·712· 基 于 ASP . NET 技 术 的 W eb 人 事 管 理 信 息 系 统 的 设 计 与 实 现 陈 旭, 张学杰 ( 云南 大学 信 息学 院, 云 南 昆明 650091) 摘 要: 微 软推 出的 基于 ASP. NET 的 Web 应用 或动 态网 站开 发 技 术, 使 得 Web 应 用的 开 发 更 加 简 单和 快 捷 。 论述 了一 个基 于 ASP. NET, ADO. NET 和 SQL Server 2000 相 结合 的 Web 人 事管 理系 统 的设 计原 理 、总 体 结构 及 功能 实现, 已 有效 解决了 人事 管理 信息 系统 的 Web 动 态发 布等 问题 , 并设 计 了 DataGrid 控 件 的数 据 添 加方 法 来 增加 数据 处理 的灵活 性。 关键 词: ASP. NET; ADO. NET; SQL; MIS 中图 法分 类号 : TP317 文献 标识码 : A 文章 编号 : 1001- 3695( 2004) 11- 0217- 03 A Human Resource Management Information System Designed and Realized by ASP. NET Techniques CHEN Xu, ZHANG Xue- jie ( School of Information, Yunnan University, Kunming Yunnan 650091, China) Abstract: ASP. NET- based Web application and active Website technology, which are developed by Microsoft company, make the process of Web application more simple and faster. With combination of ASP. NET, ADO. NET and SQL Server 2000 tech- nology, the human resource management information system was developed, which can reduce the limitation of information pub- lished on dynamic Website. Describes the principle of design, structure, function and realization of the system. A new way ma- king the process of data handling more flexible is also discussed. Key words: ASP. NET; ADO. NET; SQL; MIS B/ S 结构相对于传统的 C/ S 结构, 其优势之一是不用开发 和过多考虑客户端的问题, 一切 都交由 浏览器 来处理, 只需 考 虑服务器端的应用和功能, 这样, 大大 简化了 网络应 用的开 发 难度。微软 ASP. NET 技术的推出, 使得 Web 应用 的开发变 得 与 Windows 应用的开发一样方便和快捷, 这极大地推动了 Web 应用的发展。众 所 周知, Web 应 用或 动 态网 站 开发 技术 到 目 前为止经历了四代: ①使用 C, Perl, VB 开发动态网站的 CGI 时 代; ②采用 NSAPI 和 ISAPI 的 SAPI 时代, 这种开发方式对开发 者来说并没有带来方便; ③ 基于 ASP, PHP, JSP 等 的脚 本语 言 时代, 这大 大简化 了动 态网 站的 开发 难度; ④ 组件 技术 时代, ASP. NET 和 J2EE 是 这 个 时 代 的 代 表。 ASP. NET 是 由 ASP ( Active Server Pages) 发展而来, 它是 完全基 于对象 的, 每个 对 象都有自己的属性、方法 和事件, 开发 人员只 要选用 相应的 控 件并调整其属性, 就 可以建 立业务 解决方 案 [ 1] 。这种 结构 为 Web 应用的开发提供 了一 种面 向对象 的方 法, 这使 得 Web 应 用的开发更为简单、方便和灵活。 利用 ASP. NET 开发与 Windows 桌面应用程序的开发十分 相似, 开发人员无须关心 浏览器 和服务 器的区 别, 也 无需手 动 处理客户端发送到服务器端的数据, 只需专注实现网站的显示 内容和功能。ASP. NET 主 要由 服务 器端 控 件、服务 器端 事 件 处理、多种语言支持、Web 服 务、会话状 态管理、高速 缓存机 制 收稿日期: 2003- 08- 14; 修返日期: 2003- 12- 01 等几部分组成。由于它的服务 器端组 件屏蔽 了一切 与网络 有 关的概念细节, 使得 开发 Web 应用 和开 发普 通单 机应 用一 样 方便。另外, ASP. NET 页面实际上仅仅是一个 文本文 件, 它 以 扩展标记 语言 XML 作 为 其 数 据 格 式, 以 简 单 对 象 访 问 协 议 SOAP 作为其协 议, 当 用 户 用 浏 览 器访 问 这 个 页 面 时, NGWS ( Next Generation Windows Server) 将分析编译这个文件, 生成一 个 NGWS 类的二进制文件( 中间代码) 。实际对 用户请求的 处 理都是由 NGWS 类的二 进制 文件 来 完成, 这 就 实现 了一 次 编 码, 多处运行的目的。 1 基于数据驱动的We b 应 用与 AS P . NET 结 合的 桥 梁———ADO . NET ADO. NET 是由 ADO( ActiveX Data Objects, ActiveX 数 据 对象) 发展而来 [ 6, 7] , 它是一种无连 接、基于消息的数据 访问模 型。数据源上的数据可以 作为 XML 文 档进行 传输 和存 储, 这 样, 只要应用能够解析 XML, 就能够实现数据访问。 ADO. NET 的 结构如 图 1 所 示, 其核心 在于 DataSet 对象。 DataSet 可以包含任意多个 DataTable( 数据表 ) , 每个 DataTable 都是一张数据库表或视图在 内存中 的映射, 即 数据读 出之后, DataSet 无需和数据 库 保持 连接, 这节 约了 网 络资 源。DataSet 的有关方法与关 系数 据 模型 完全 一 致, 这使 得 数据 操纵 更 简 洁、直 观, 即 一 个 DataSet 由 任 意 多 个 DataTable 组 成, 每 个 DataTable 又由一个 DataRow( 数据 行) 集、一个 DataColumn( 数
·812· 计算机应用研究 2004 年 据列) 集和与其他 DataTable 的关 系 DataRelation 组 成。另外, 它还提供了主键约束和外键约束。 .NET 数据提供程序 Connection Command DataReader DataAdapter 事务 SelectCommand InsertCommand UpdateCommand DeleteCommand 事务 数据库 DataSet DataTableConnection DataTable DataRowCollection DataColumnCollection ConstraintCollection DataRelationCollection XML 图 1 ADO. NET 框架 结构 文献[ 3] 对. NET 框架中的三种数 据访问技术 及其效率 进 行了比较, 其结论是 使用 SQL Server 7. 0 及 其后 的版 本 时, 无 论是数据库连接、数据读取还是数据更新方面, ADO. NET 都是 最快速的。所以我们采用 ASP. NET 和 ADO. NET 的 结合来 开 发提出的人事管理信息系统( 图 2) 。 可以通过 SqlConnection. Open 打 开 数 据库 连 接, SqlCommand. ExecuteNonQuery 来执行 SQL 命令, 再用 SqlConnection. Close 关 闭数据库连接来完成数据库的操作, 而不经过 DataSet, 视应 用 的方便而定。 2 系统设计与实现 我们采用 ASP. NET, ADO. NET 和 SQL Server 2000 技术 相 结合的方式来开 发 Web 人 事管 理信 息 系统。用 ASP. NET 开 发前台的 Web 页面, SQL Server 2000 作 为后 台 数据 库保 存 数 据, 用 ADO. NET 作为两者之间 联系的 桥梁。系 统结 构如 图 4 所示, 数据表关系如图 5 所示。 人事管理系统 系统维护 人事管理 打印 用户及 权限 系统 设置 安全 设置 添加 删除 更新 查询 统计 图 4 系统 设计结 构 行选 打印 列选 打印 打印 预览 表示层 Web表单 数据集 ADO.NET SQL 受管理 OLEDB 受管 理提供者 提供者 数据库层 编号 1颐n 附属情况 主键:编号+序号 基本情况 主键:编号 编号 1颐1 主键:姓名 爱人情况 编号 1颐n 子女情况 主键:编号+序号 图 2 ASP. NET, ADO. NET 结合框 架 由图 2 中可见, 受管理提供者( Managed Provider) 是 ADO. NET 在应用和数 据 源间 的桥 梁。ADO. NET 中 提 供了 两 个 数 据访 问 受 管 理 提 供 者: SQL 和 OLE DB。 SQL 主 要 用 于 SQL Server 7 及其后的版 本, 而 OLE DB 则用 于其 他数 据源。受 管 理提供者包括四 部分: 连接 ( Connection) 、命 令( Command) 、数 据读取 器 ( DataReader) 、数据 适配 器 ( DataAdapter) 。对 数 据 的访问要经历建立并打开连接、执行 SQL 命令、读取 结果数 据 等几个步骤, 也可以通过 DataAdapter 来自动完成。 在数据库中 执行命 令, 有四 种执 行方 法: ExecuteNonQuery ( 执行一个 SQL 语句, 不 返回任 何记录 ) ; ExecuteReader ( 返 回 一个 DataReader 对 象) ; ExecuteScalar ( 执行 SQL 语 句并 返 回 第一 行 的 第 一 列 ) ; ExecuteXmlReader( 执 行 SQL 语 句, 并 以 XML 流的形式返回结果, 仅用于 SQL 受管理提供者) 。 Web表单 DataGrid 数据集 DataSet DataTable 数据表 DataAdapter SQL 图 3 ASP. NET, ADO. NET 结合的 具体 实现 DataAdapter 是 DataSet 和数据库之 间的桥 梁, 它建 立在 一 个无连 接、基于 消息 的模 型上, 对信 息进 行循 环处 理和 发送。 其主要功能是从数据库 中查询 数据, 并将 结果放 入 DataSet 的 DataTable 中。DataAdapter. Fill 方法 将 完 成这 个 工 作, 它 可 以 指定在 DataSet 中 形成 的 表的 名字, 也可 以默 认 为 Table( 0) 。 Fill 方法就像一个开关, 调用之 前, DataAdapter 处于空 闲状态; 调用之后, 它将建 立与 数据 库的 连接, 并 执 行 SQL 语 句, 再 将 结果放入 DataSet, 然 后 ASP. NET 的 Web 控件再 从 DataSet 中 取出数据来实现各种功能, 如图 3 所示。Web 表单中的数据可 以放入 DataTable, 再 由 DataAdapter. Update 来更 新 数 据库; 也 图 5 数据表 关系 在大 多数的 Web 应用中, 一 般都只 是采用 了一种 连接 技 术来处理数据交换, 这极 大地限 制了应 用的方 便性和 灵活性。 我们同时运用了两种数 据处理 方式: 在前 台显 示中 运用 Data- Set, 充 分发 挥了 DataSet 和 DataGrid 控 件的 强大 功能, 使 得 数 据显示快 捷、丰 富、多 样; 在后 台的更新、存储和 删除则使用 了 SQL 命令的形式来完成, 充分发 挥了 SQL 语言 的功能, 使得 对 数据的处理方便而灵活。这样, 用户无论是在表格的方式下还 是在文本框的方式下都能够对数据进行存取和更新, 避免了在 各种页面之间的来回切换, 极大地 方便了 用户的 使用, 而且 对 数 据的操 作也更 加快捷。另外, 我 们在 Web 页面中 用到的 最 主要的显示控件是 DataGrid, 它是 ASP. NET 中 最复杂、最强 大 的 Web 控件 之 一, 可 以 绑 定 到 各 种 数 据 源 上。 特 别 是 对 于 DataTable, DataGrid 可 以自 定义 数据 表的 显示 格式, 也 可以 自 动地按照数据表本身的格式来显示 数据。但是, DataGrid 控 件 只提供了对数据的选择、编辑、排序和翻页的功能, 并没有提供 添加项的功能。由于在很多应 用中都 可能会 用到添 加项的 功 能, 我们通过其数据源结构的添加和 DataGrid 的编辑功能的巧 妙结合, 实现了这一功能。具体的 C#代码如下: SqlDataAdapter myDataAdapter = new SqlDataAdapter ( ( " select * from" + Selected_str + " where 编号 = " + num. Text ) , " server = localhost; database = AdultEdu; uid = sa ; pwd = sa" ) ; / / 数据 库连接 Dat aSet myDataSet = new DataSet( ) ; / / 建立 数据集 myDataAdapt er. Fill ( myDataSet, Selected_str) ; / / 将 SQL 语句 结果填 入数 据集的 一个 表中 / / 在 myDataSet. Tables[ Selected_str] 表 中添 加一个 空行 Dat aTable myDataTable = myDataSet . Tables[ Selected_str] ; Dat aR ow myR ow = myDataTable . NewR ow( ) ; / / 表格第 一列 为序号 , 选 取最 小的序 号添 入 int i; bool flag = fal se; for( i = 1; i < myDataTable. Rows. Count + 1; i + + ) { flag = Test_Item _Exist ( i . ToString( ) , Selected_str, num. Text) ; / / 条目 i 是 否存在 if( ! { / / 不 存在 flag)
第 11 期 陈 旭等: 基于 ASP. NET 技术的 Web 人事管理信息系统的设计与实现 ·912· myRow[ 0] = i; / / 中 间有 空序号 break; } } if( i > = myDataTable. Rows. Count + 1) myRow[ 0 ] = myDataTable. Rows. Count + 1; / / 尾部 加入 myRow[ 1] = num. Text; / / 第 二列为 编号 myDataTable. Rows. Add( myRow) ; / / 将 行添 加进表 中 / * 另 一种添 加方法 object[ ] rowVals = new object[ 3 ] ; rowVals[ 0 ] = myDataTable. Rows. Count + 1; rowVals[ 1 ] = num. Text; rowVals[ 2 ] = " " ; myDataTable. Rows. Add( rowVals) ; * / myDataGrid. DataSource = myDataTable; / / 获取 DataGrid 的数 据源 , 添 加新行 后的 表 / / 获取新 行的 索引值 赋给 myDataGrid. EditItemIndex myDataGrid. EditItemIndex = myDataTable. Rows. Count - 1; / / 使添加 行处 于编辑 模式 myDataGrid. DataBind( ) ; / / 重新 绑定数 据 我们所设计和实现的人事管理系统具有数据的存储和显示 方便快捷、表现形式丰富多样的特点。由于人员基本情 况条目 较多, 如图 6 所示。我们用 DataGrid 控件显示其最常用的选项, 其所有条目如图 7 所示, 我们用 TextBox 控件 组来显示、修改和 添加, 同时还提供了对所有条目的查询、统计和打印功能。 WebForm 1 表单选择:在职人员基本情况 添加新记录 统计方式:人数统计 统计文本输入: 打印列名:姓名,性别,出生日期 查询条件输入:文化程度=大学本科 查询/统计 在职人员基本情况表:查询/统计结果为:5 1976 19660313 文化程度 大学本科 大学本科 云南省昆明市 云南省昆明市 家庭 进入 进入 详细 进入 进入 附属 进入 进入 党员 党员 编号 姓名 性别 出生日期 aaa 002 政治面貌 籍贯 民族 汉 回 001 002 nv男 1 2 3 图 6 DataGrid 控件显 示 在职人员基本情况 Key: 编号 Value0:002 编号 姓名 籍贯 出生日期 政治面貌 参加工作时间 所学专业 现行政职务 专业技术职称 身份证号码 联系电话 特长 详细家庭住址 在职人员个人基本情况 云南省昆明市 002 002 19660313 1988 党员 查看 添加附属情况 性别 民族 文化文化程度 婚姻状况 参加工作地点 来成教院工作时间 任职时间 职称评定时间 身份 手机 岗位 男 回 大学本科 未婚 1988 教师 我们在设计、开发过程中还发现了 DataGrid 的一些缺陷或 不便之处, 有待将 来进一 步改进。如 DataGrid 控件 中, 链接 列 在链接时, 只能传递 DataGrid 绑定数 据源中 的内容 作为 参数, 无法在链接后提 供别 的参 数。另外, DataGrid 在 行编 辑时, 提 供 了 TextBox 控件 作为 输入, 但 其宽 度是固 定、不可 调的。 如 果要调整, 只有使用模板列来对各列进行调整, 这样, 如果是不 同的表格, 就要各自为其设定, 十分不方便。 3 总结 微软 ASP. NET 的推出, 使得 Web 应用的开发变得与 Win- dows 应用的开发一样方便和快捷, 利 用 ASP. NET 开发和 Win- dows 桌面应用程序的 开发 十分 相似, 开 发人 员 无须 关心 浏 览 器和服务器的区别, 也无须手动处理客户端发送到服务器端的 数据, 只要把精力放到实现网站的显示效果和网站的功能上即 可。我们描述了 一个 基于 ASP. NET, ADO. NET 和 SQL Server 2000 相结合的 Web 人事管理 系统的 设计原 理、总 体结 构及 功 能实现, 已有效解决 了人 事管理 信息 系统 的 Web 动态 发布 等 问题, 并精心设计了 DataGrid 控件的数据添加方法来增加数据 处 理的灵活性。诸如网页的安全问题、错误处理中提供像 Win- dows 的消息提示对话框等问题, 有待今后的工作进一步解决。 参考文献: [ 1] onny Mack, Doug Seven. ASP . NET 数 据 驱 动 Web 开 发 [ M] . 林 琪, 张伶 , 朱 涛江. 北京 : 中国电 力出版 社, 2003. [ 2] mit Kal ani, John Schenken, et al . ASP . NET 命 名 空 间 参 考 手 册———C#编程 篇[ M] . 王小 娜. 北京 : 清 华大学 出版 社, 2003. [ 3] 金灿, 陈 绪 君 , 等. NET 框 架 中 三 种 数 据 访 问 技 术 及 效 率 比 较 [ J] . 计 算机 应用研 究, 2003, 20( 4) : 155- 157. aul Dickinson, et al. ADO. NET 高 级 编程 [ M] . 张 晓 明, 等 . 北京 : [ 4] 中国电 力出 版社, 2003. [ 5] ouresh Ardestani, Kevin Hoffman, et al . 高 效掌 握 ADO. NET———C #编 程篇 [ M] . 张哲峰 . 北京: 清华 大学 出版社 , 2003 . 66- 79. [ 6] 周治平 . ADO 数据存 取技 术[ J] . 计算 机应用 , 1999 , ( 7) : 93- 95 . [ 7] 叶德谦 , 马勤勇 . 使 用 ADO. NET 对 关 系 数 据库 的 访 问 [ J] . 微 型 电脑应 用, 2001, ( 8) : 39- 42. ttp: / / Dot NetJunkies. com [ EB / OL] . ttp: / / www. wrox. com [ EB / OL] . ttp: / / www. a5d. com[ EB / OL] . ttp: / / www. csdn. net[ EB / OL] . [ 8] [ 9] [ 10] [ 11] 删除 更新 [ 12] ttp: / / chs. gotdotnet. com / quickstart / aspplus / doc / whatisaspx. aspx 图 7 TextBox 控件显 示 而对于附属情况, 如图 8 所示, 其条目较少, 我们采用了上 述代码和 DataGrid 控 件 所 提 供的 功 能 相 结 合 的 方 式 直 接 在 DataGrid 控件中对其条 目进 行删 除、添 加和 修改, 避 免了 在 页 面间的来回切换。 编号:002 工作单位 职务 添加新记录 在职人员附属情况 附属项目选择:主要工作经历 条目 编号 1 2 编辑 编辑 更新 取消 删 除 删 除 删 除 3 002 002 002 图 8 有 添加 功能的 DataGrid 控 件显示 [ EB / OL] . [ 13 ] ttp: / / www. 9seek. com / news / list . aspx? ClassID = 2&NclassID = 4 [ EB / OL] . [ 14] ttp: / / www. chinamvp. com / forums / [ EB / OL] . [ 15] ttp: / / www. ccw. com. cn / htm / center / prog/ 02 _6 _25 _4 . asp[ EB / OL] . [ 16] [ 17] [ 18] ttp: / / www. tech521. com / techData / data / [ EB / OL] . ttp: / / www. aspx. cn / club / index. asp[ EB / OL] . tt p: / / www. weiw. com / arti cle / [ EB / OL] . [ 19] ttp: / / www. citytea. com / article / sort . asp? classid = 2[ EB / OL] . 作者简介: 陈 旭( 1973- ) , 男 , 硕 士研 究生, 主要 研究 方 向为 计 算 机网 络 安 全、入 侵 检 测; 张学 杰( 1965- ) , 男, 教 授 , 主 要 研 究 方 向 为 高 性 能 计算 、可 重 配 置 计算 技术、嵌入 式系 统、数据 融合、信息 安全 与计算 机网络 。
分享到:
收藏