1、基于B/S的高校财务查询系统设计与实现沈 晔(健雄职业技术学院 计算机工程系,江苏 太仓 215411)摘 要:高校财务管理系统已经具备了财务管理和统计及打印输出等功能,但财务信息反馈的及时性有待提高。本系统采用 B/S 结构实现即时财务信息的查询,同时加强了对财务情况的 监督。关键词:B/S结构;ASP.NET;数据库技术;财务查询中图分类号:TP319 文献标识码:A目前各单位的财务处理很难离开财务软件帮助,因 为财务软 件提供了方便有效的财务管理。但基于财务管理软件的数据安全性考 虑,一般不与网络互通。为了使各部门负责人能通过网络方便、及时地查看和 监督经费情况以及报销情况,必须另外搭建
2、一个平台来架设财务查询系统。基于 B/S 模式开发的扩展性好、无需考虑客户端的兼容性、数据安全性高的 优点,财务查询系统将采用此模式 进行开发。1 系统总体构架设计1.1 系统结构整个财务查询系统的所有信息均保存在数据库中,用 户不直接 对数据库进行操作。与用户对话的窗口是 ASP.NET 程序编写的用户界面,用 户通过 网络访问服务器上的 WEB 页,故总体结构采用 B/S 三层体系 结构。B/S 结构极大的简化了客 户端的工作,客户端只需要安装、配置少量的客户端软件即可,服务器将负担更多的工作,对数据库的访问和应用程序的执行只由服务器完成。其系统结 构如图 1 所示。1.2 系统开发技术平
3、台以 ASP.NET 为架构,建立在 Windows 2000 Server 以上操作系统平台上,Web 服务器为 IIS,数据库服务器为 Microsoft SQL Server2000,开 发 工具采用 Microsoft Visual Studio .NET,开发语言 为 C#。图 1 B/S 数据库系统的结构图Fig.1 Structure drawing of data system1.3 系统功能监管财务的领导通过 INTERNET 网络打开服务器的地址,登陆主页面并输入用户名和密码,就可查看全院各部门当天的 财务收入、支出、余额以及详细的报销情况,并可根据需要来排序查看。各部门负
4、责人只能 查看各自权限范围内的 财务情况。由于 财务信息量比较大,故系统实现分页显示。对需要保存的 财务信息也可实现打印。该系统满足了绝大部分需求,为用户提供了方便。1.4 数据库由于系统采用的是“新中大公共财务管理软件”,故要找到此软件生成的数据库文件以便浏览器显示逻辑请求响应Web 服务器事务处理逻辑请求响应数据处理逻辑数据库来读取。经分析此数据库采用的是 SQL server 数据库,利用 SQL server 企业管理器附加指定数据库。为了能读取相关字段,对表的字段结构进行分析,图 2 为分析后的字段信息。字段名 代码 类型 约束凭证号 Pzh char(10) 主键部门编号 Bmbh
5、 char(12) 非空凭证日期 pzrq date 非空摘要 zy Char(200) 非空收入 sr number(10,3) 支出 zc number(10,3) 图 2 原数据库字段信息Fig.2 Field message of original database system这些数据通过 ASP.NET 程序与用户界面进行交互。 财务查询 系统的实质是对数据库的操作,系统根据普通用户功能、管理员管理功能需求只要创 建用户登陆 login 表。username 为登录名,userpsw 为登录密 码, userID 用户编号, bmID 为部门编号(部门编号要符合财务处编号规则)。表
6、结构如图 3:字段名 代码 类型 约束用户编号 userid char(5) 主键用户名 uername char(50) 非空密码 userpsw char(10) 非空部门编号 bmID Char(12) 非空图 3 用户登陆 login 表Fig.3 For customer to land login table2 系统实现2.1 系统实现概况下面介绍的系统实现概况,是 实现.NET 程序开发的最基本内容,技术过于简单, 选择一至二个介绍即可,实现系统查询 部分的设计, 还可利用一些技 术存储过程、视图机制、系统安全性的等技术,这样增加文章 创新性和学术性。ASP.NET 是一种动态的
7、网络技术。本系 统采用 C#语言作为系统的实现语言。针对不同的功能,将相关的功能模块放在 对应的类中实现。采用 ADO.NET 技术进行数据库访问,将数据存放到 Dataset 中,有效提高了系 统的效率。利用下拉菜单进行管理,可以使用户方便的进行操作。2.2 数据库技术与数据库的所有通信都要通过一个打开的连接来进行。在对一个数据库进行数据的插入和读取之前必须先打开与这个数据库的连接。目前 访问 数据库大体有两种方式:ADO.NET方式访问数据库;ODBC 方式访问数据库。2.2.1 ADO.NET 方式访问数据库(1)打开和关闭数据库连接要打开与一个数据库的连接,你可以 创建连接对象的一个
8、实例。 创建了这个实例之后,你就可以调用连接对象的 open 方法,打开一个连接。string strConn = “Server=.;database= dbo.v_zw_pzhz;uid=sa;pwd=;“;SqlConnection conn = new SqlConnection(strConn);conn.Open();SqlCommand com=new SqlCommand(“select * from login,conn); 例中首先创建了连接对象 SqlConnection 的实例 conn,通 过调用连接对象的 open 方法打开数据库。接下来创建 SqlCommand
9、对象定义读取的内容。实例化 SqlCommand 对象时我们提供两个变量。第一个是保存 实际 SQL 语句(或表名称)的字符串,第二个 SqlConnection对象。然后执行 SqlCommand 的方法,返回信息。调用完毕后需关闭连接。(2)执行 SQL 语句通过打开的连接执行 SQL 语句,根据具体需要可以 选择 SqlCommand 的ExecuteNonQuery 方法、ExecuteScalar 方法或 ExecuteReader 方法。ExecuteNonQuery()方法是用在 执行 Insert Update Delete 语句的时候返回受影响的行数。比如插入语句,则受影响的
10、行数就是 1,否 则就是操作失败 。ExecuteScalar()方法主要用在 语句的聚合函数中,比如 Max,Count 等,就是 获得聚合函数的值。举例:SqlCommand com=new SqlCommand(“select count(*) from login where username=seny and userpsw=123“,conn);/创建 com 对象定义读取的内容int count=Convert.ToInt32(com.ExecuteScalar();/执行 com 的 ExecuteScalar()方法,返回得到的个数ExecuteReader()方法主要就是返
11、回一个 DataReader 可以作为一个数据源使用。举例:this.MyDataGrid.DataSource=MyCmd.ExecuteReader();/返回一个数据源this.MyDataGrid.DataBind();2.2.2 ODBC 方式访问数据 库 通过 ODBC 方式访问数据 库同 ADO.NET 方式差不多,差别在于制定数据库路径方式,其中 ODBC 方式打开的是系 统 DSN,而 ADO.NET 方式直接通过指定数据库物理路径来实现。要打开与一个数据 库的 连接,你可以 创建连接对象的一个实例。创建了这个实例之后,你就可以调用连接对象的 OPEN 方法,打开一个 连接。
12、2.3 水晶报表实现网络打印网络打印对 B/S 管理系统是一个重要的功能。对于网络打印,目前已经存在各种打印控件,他们的实现效果各有长短。本系统采用.NET2003 自带的水晶报表控件进行网络打印,并通过调用 IE 打印进行打印设置。这样做充分利用了水晶报表座位专业报表的长处,可以根据用户设计并打印出理想的图文并茂的财务统计表等。2.4 系统部分界面和代码系统主界面如图 4。图 4 系统查询主界面Fig.4 Main interface of system inquiry查询界面部分代码:private void bindtodatagrid()string strConn = “Server
13、=.;database= dbo.v_zw_pzhz;uid=sa;pwd=;“;SqlConnection conn = new SqlConnection(strConn);con.Open();SqlCommand com=new SqlCommand(“select bmry,pzrq ,pzh,zy,ISNULL (j,0) as j ,ISNULL (d,0) as d,ISNULL (d,0) as y from dbo.v_zw_pzhz where bmry like “+bmid+“% order by pzh desc“,con);SqlDataAdapter sda=n
14、ew SqlDataAdapter();sda.SelectCommand=com;DataSet ds=new DataSet();sda.Fill(ds,“cw“);this.DataGrid1.DataSource=ds.Tables“cw“.DefaultView;this.DataGrid1.DataBind();2.5 系统的发布财务查询系统是由 Microsoft Visual Studio .NET 部署后,再由操作系统的 IIS 服务来完成发布的。发布平台也要求安装 .NET Framework 即.NET 的框架。 .NET Framework 是运行框架,开发的所有.ne
15、t 程序都必 须在这个框架上运行。 IIS 是 Windows 系列服务器版、企业版操作系统提供的 Internet 信息服 务,Home 版的 Windows XP 不提供 IIS 服务。2.6 系统的使用财务查询系统通过 IIS 发布后,各部门就可以通过 Web 浏览器进行访问了。系统的普通用户和管理员因具有不同的权限而具有不同的功能。3 结束语3.1 系统优点(1)建立了基于 B/S 模式的体系 结构,避免了建立多层 C/S 模式的昂贵代价,实现了财务信息的共享。(2)为各相关部门提供了财务信息,提高了 财务处理信息,提高了财务管理能力,从而提高了财务监督管理的质量,具有 较好的应用前景
16、。3.2 系统不足(1)由于单位资源的限制,未能提供通 过因特网向外广播的服 务,不能 让处在外部的本校用户利用该系统查询到相关信息,及 时了解当日的财务 情况。(2)考虑到数据安全性的问题,每天都需要将原 财务系统的数据 库文件拷贝到财务查询系统的平台上进行读取。是否有更智能、便捷有效的方法代替现状正是现在值得研究的问题。参考文献:1 弗哥恩.ASP.NET1.1 数据库入门经 典M. 北京:清华大学出版社,2005. 2 米切尔.ASP.NET 2.0 入门经典M.北京:人民邮电出版社,2007.3 杨天奇.ASP.NET 网络编程技术 M.北京:机械工业出版社,2007.Colleges
17、Financial Information Inquiry SystemDesign and Realization Based on B/S StructureSHEN Ye (Department of Computer Engineering, Chien-shiung Institute of Technology, Taicang 215411, China)Abstract: Financial management system in colleges has already had such functions as financial management, statisti
18、cs and printing output etc., but the timeliness of financial information feedback is to be enhanced. The financial information inquiry system adopts B/S structure to realize the timeliness of financial information inquiry and therefore, strengthens the supervision over the financial situation.Key words: B/S structure; ASP.NET; data technology; financial inquiry作者简介:沈晔(1981-),男,江苏太仓人,健雄职业技术学院计算机工程系助教,主要研究方向为 NET 技术的应用、软件设计及数据 库研究。