论文部分内容阅读
摘要:通过对网络中心业务办理过程调查发现,我校网络中心前台业务存在着业务办理手续复杂、用户数据分散等缺点。本文给出了用于提高前台业务办理工作效率和统一数据管理系统的具体设计,包括系统结构设计、数据库设计等。以及关键技术的分析和应用。系统采用Visual Basic.NET作为前端开发工具和ACCESS 2003作为后台数据库管理系统来进行实现。系统的应用提高了前台业务办理的效率,实现了数据的统一性和安全性,统计和分析数据的效率大大的提高了。
关键词:VB.NET;ACCESS 2003;ADO.NET;水晶报表
中图分类号:TP31 文献标识码:A文章编号:1009-3044(2007)04-10980-01
1 引言
新疆农业大学网络中心从开始开通了校园网用户上网业务之后,用户开户、收费登记、业务记录变更一直是以手工登记完成。业务办理过程中存在着手续办理繁杂;给用户分配公网IP地址复杂、IP管理不方便;业务数据安全性差、分散、统计困难;报表编制复杂,出错率高等诸多缺点。针对上述缺点,开发一个将手续简化,具有数据管理、统计方便,报表打印功能集于一身的应用系统已经势在必行。
Visual Basic.NET 是.NET的一种兼容语言,它支持包括实现继承、重载和带参数的构造函数在内的所有面向语言的特性,并且引入如结构化的异常处理等现代化语言结构,是一种代码编辑、编译、连接调试功能为一体的集成开发环境(IDE)。ACCESS 2003是常用的小型数据库,适用于小规模数据的管理。
2 系统需求分析
软件需求分析是软件工程周期上关键的一步,网络中心前台业务系统主要针对办理人员在前台业务中碰到的问题,通过需求分析,提出了系统需要完成以下几项功能:
(1)操作员的管理:其权限分为操作员和管理员。对操作员的权限有所划分。
(2)网络用户的管理:包括对用户的建立、修改、删除以及给用户分配或释放IP地址。
(3)IP地址的管理:对IP地址的适用范围进行划分,对停用或删除的用户进行IP地址的释放。
(4)业务办理管理:对用户所办理的业务进行登记。
(5)统计功能:统计各类用户开通数,费用收缴情况。
(6)打印报表功能:打印新开通用户的信息单和每月变更用户单。
3 系统组成
如图1,该系统包括系统管理、用户管理、业务管理、IP地址管理、数据统计、报表打印六个模块,主程序中的系统管理模块主要是针对系统管理员和操作人员设置的功能;用户管理模块主要是用户的添加、用户的删除、用户的修改的功能同时还包括对用户IP地址使用情况的管理;业务管理主要是对操作员业务办理的登记,以及操作人员的业务的查询;IP地址管理主要针对已经分配和未被分配的IP地址进行管理,统一了IP的管理;数据统计功能完成了对各类用户的相关统计、现金的统计和单独用户相关数据的统计;报表打印通过水晶报表完成了对用户信息的打印和每月变更用户记录的打印。
图1 网络中心前台业务办理系统组成
4 数据库设计
4.1 网络中心前台业务办理系统主要涉及了4个实体和M:N关系,现将该系统转化为具体模式E_R模型具备功能为操作员(用户名,密码,权限);普通用户(用户名,姓名,IP地址);业务表(用户名,操作员,业务办理时间,金额,业务名称);IP地址表(IP地址,子网掩码,默认网关,DNS地址);
4.2 用E-R模型建立了用户数据信息表、操作员数据表、IP地址信息表、业务信息登记表和用户操作信息表。以及以用户数据信息表和IP地址数据表建立的视图,如图3所示。
5 系统的实现
5.1 数据库链接技术
ADO .NET提供了平台互用和可收缩的数据访问功能。是统一数据访问的模型,它提供了链接ACCESS数据库的相容接口,以实现数据共享为目标的应用程序能够方便的对数据库进行各种操作。
图2 E-R图
图3 数据库视图
ADO.NET有许多对象,有Connection、Command、DataReader、DataAdapter等。首先看看ADOConnection。和ADO的ADODB.Connection对象相对应,ADOConnection维护一个到数据库的链路。为了使用ADO.NET对象,我们需要引入两个NameSpace:System.Data和System.Data.ADO,使用VB.NET的Import指令就可以了:
Imports System.Data.OleDb
Imports System.Data.OleDb.OleDbConnection
和ADO的Connection对象类似,ADOConnection对象也有Open和Close两个方法。下面的这个例子展示了如何连接到本地的ACCESS2003上的NetFrontService数据库。
Public objOleDbConnection As OleDbConnection = NewOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=database\NetFrontService.mdb")
objOleDbConnection.Open()
objDataAdpter = New OleDbDataAdapter(sqlstr, objOleDbConnection)
objDataAdpter.Fill(objDataSet)
objOleDbConnection.Close()
我们设计了一个数据库链接类,命名为model.vb。将链接字符串都保存在这个文件中。当窗体要调用的数据库数据的时候,直接到该文件中调用相关代码即可,这样就可以避免若要修改数据库链接字符串所带来的牵一发而动全身的情况。
上面的代码和ADO没有什么太大的差别。应该提到的是,ADO.NET提供了两种数据库连接方式:ADO方式和SQL方式。这里我们是通过ADO方式连接到数据库。
5.2 水晶报表(Crystal Reports)的设计与编程
我们在该系统得报表在水晶报表编辑器中设计好,将定义好的数据集dataset中的字段插入设计好的报表中,然后对报表的输出格式进行设置,设置后将设计好的文件插入到VB的窗体中,从而在应用程序中调用。
Crystal Reports 数据库驱动程序被设计为可同时提供数据访问的拉模型和推模型。推模型需要开发人员编写代码以连接到数据库,执行 SQL 命令以创建与报表中的字段匹配的记录集或数据集,并且将该对象传递给报表。该方法使连接共享置入应用程序中,并在 Crystal Reports 收到数据之前先将数据筛选出来。 我们在这里用推的方法将数据传入水晶报表设计器中。
具体代码如下:
conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=database\lc.mdb"
query = "SELECT * FROM user_ipInfo WHERE user_id='" & Me.tbUserId.Text & "'"
oleAdapter.SelectCommand = New OleDbCommand(query, oleConn)
dataset = New DataSet
oleAdapter.Fill(dataset, "user_ipInfo")
ORpt.SetDataSource(dataset)
CRpUserInfo.ReportSource = ORpt
End Sub
6 结束语
网络中心前台业务办理系统已经在我单位使用了一个学期,该在系统一定程度上方便了前台业务办理人员的业务办理效率。由于数据库采用了ACCESS2003数据库,对数据进行了统一的管理,在应用程序中查询和统计方面同样提高了工作效率,应用的效果较为显著。
参考文献:
[1]周忠荣,曾爱林.罗勇胜数据库原理与应用(Access)[M].北京:清华大学出版社.2003:10-12.
[2]李崴.Visual Basic.NET编程宝典[M].北京:电子工业出版社.2005:189-192。
[3]蔡庆增,孙苓生.基于VB·NET技术的智能抄表管理系统的设计与实现[J].电气应用.2006(3):113-114.
[4]周威.在VBNET中用ADO访问Access数据库的方法[J].嘉兴学院.2005(3):39-40.
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
关键词:VB.NET;ACCESS 2003;ADO.NET;水晶报表
中图分类号:TP31 文献标识码:A文章编号:1009-3044(2007)04-10980-01
1 引言
新疆农业大学网络中心从开始开通了校园网用户上网业务之后,用户开户、收费登记、业务记录变更一直是以手工登记完成。业务办理过程中存在着手续办理繁杂;给用户分配公网IP地址复杂、IP管理不方便;业务数据安全性差、分散、统计困难;报表编制复杂,出错率高等诸多缺点。针对上述缺点,开发一个将手续简化,具有数据管理、统计方便,报表打印功能集于一身的应用系统已经势在必行。
Visual Basic.NET 是.NET的一种兼容语言,它支持包括实现继承、重载和带参数的构造函数在内的所有面向语言的特性,并且引入如结构化的异常处理等现代化语言结构,是一种代码编辑、编译、连接调试功能为一体的集成开发环境(IDE)。ACCESS 2003是常用的小型数据库,适用于小规模数据的管理。
2 系统需求分析
软件需求分析是软件工程周期上关键的一步,网络中心前台业务系统主要针对办理人员在前台业务中碰到的问题,通过需求分析,提出了系统需要完成以下几项功能:
(1)操作员的管理:其权限分为操作员和管理员。对操作员的权限有所划分。
(2)网络用户的管理:包括对用户的建立、修改、删除以及给用户分配或释放IP地址。
(3)IP地址的管理:对IP地址的适用范围进行划分,对停用或删除的用户进行IP地址的释放。
(4)业务办理管理:对用户所办理的业务进行登记。
(5)统计功能:统计各类用户开通数,费用收缴情况。
(6)打印报表功能:打印新开通用户的信息单和每月变更用户单。
3 系统组成
如图1,该系统包括系统管理、用户管理、业务管理、IP地址管理、数据统计、报表打印六个模块,主程序中的系统管理模块主要是针对系统管理员和操作人员设置的功能;用户管理模块主要是用户的添加、用户的删除、用户的修改的功能同时还包括对用户IP地址使用情况的管理;业务管理主要是对操作员业务办理的登记,以及操作人员的业务的查询;IP地址管理主要针对已经分配和未被分配的IP地址进行管理,统一了IP的管理;数据统计功能完成了对各类用户的相关统计、现金的统计和单独用户相关数据的统计;报表打印通过水晶报表完成了对用户信息的打印和每月变更用户记录的打印。
图1 网络中心前台业务办理系统组成
4 数据库设计
4.1 网络中心前台业务办理系统主要涉及了4个实体和M:N关系,现将该系统转化为具体模式E_R模型具备功能为操作员(用户名,密码,权限);普通用户(用户名,姓名,IP地址);业务表(用户名,操作员,业务办理时间,金额,业务名称);IP地址表(IP地址,子网掩码,默认网关,DNS地址);
4.2 用E-R模型建立了用户数据信息表、操作员数据表、IP地址信息表、业务信息登记表和用户操作信息表。以及以用户数据信息表和IP地址数据表建立的视图,如图3所示。
5 系统的实现
5.1 数据库链接技术
ADO .NET提供了平台互用和可收缩的数据访问功能。是统一数据访问的模型,它提供了链接ACCESS数据库的相容接口,以实现数据共享为目标的应用程序能够方便的对数据库进行各种操作。
图2 E-R图
图3 数据库视图
ADO.NET有许多对象,有Connection、Command、DataReader、DataAdapter等。首先看看ADOConnection。和ADO的ADODB.Connection对象相对应,ADOConnection维护一个到数据库的链路。为了使用ADO.NET对象,我们需要引入两个NameSpace:System.Data和System.Data.ADO,使用VB.NET的Import指令就可以了:
Imports System.Data.OleDb
Imports System.Data.OleDb.OleDbConnection
和ADO的Connection对象类似,ADOConnection对象也有Open和Close两个方法。下面的这个例子展示了如何连接到本地的ACCESS2003上的NetFrontService数据库。
Public objOleDbConnection As OleDbConnection = NewOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=database\NetFrontService.mdb")
objOleDbConnection.Open()
objDataAdpter = New OleDbDataAdapter(sqlstr, objOleDbConnection)
objDataAdpter.Fill(objDataSet)
objOleDbConnection.Close()
我们设计了一个数据库链接类,命名为model.vb。将链接字符串都保存在这个文件中。当窗体要调用的数据库数据的时候,直接到该文件中调用相关代码即可,这样就可以避免若要修改数据库链接字符串所带来的牵一发而动全身的情况。
上面的代码和ADO没有什么太大的差别。应该提到的是,ADO.NET提供了两种数据库连接方式:ADO方式和SQL方式。这里我们是通过ADO方式连接到数据库。
5.2 水晶报表(Crystal Reports)的设计与编程
我们在该系统得报表在水晶报表编辑器中设计好,将定义好的数据集dataset中的字段插入设计好的报表中,然后对报表的输出格式进行设置,设置后将设计好的文件插入到VB的窗体中,从而在应用程序中调用。
Crystal Reports 数据库驱动程序被设计为可同时提供数据访问的拉模型和推模型。推模型需要开发人员编写代码以连接到数据库,执行 SQL 命令以创建与报表中的字段匹配的记录集或数据集,并且将该对象传递给报表。该方法使连接共享置入应用程序中,并在 Crystal Reports 收到数据之前先将数据筛选出来。 我们在这里用推的方法将数据传入水晶报表设计器中。
具体代码如下:
conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=database\lc.mdb"
query = "SELECT * FROM user_ipInfo WHERE user_id='" & Me.tbUserId.Text & "'"
oleAdapter.SelectCommand = New OleDbCommand(query, oleConn)
dataset = New DataSet
oleAdapter.Fill(dataset, "user_ipInfo")
ORpt.SetDataSource(dataset)
CRpUserInfo.ReportSource = ORpt
End Sub
6 结束语
网络中心前台业务办理系统已经在我单位使用了一个学期,该在系统一定程度上方便了前台业务办理人员的业务办理效率。由于数据库采用了ACCESS2003数据库,对数据进行了统一的管理,在应用程序中查询和统计方面同样提高了工作效率,应用的效果较为显著。
参考文献:
[1]周忠荣,曾爱林.罗勇胜数据库原理与应用(Access)[M].北京:清华大学出版社.2003:10-12.
[2]李崴.Visual Basic.NET编程宝典[M].北京:电子工业出版社.2005:189-192。
[3]蔡庆增,孙苓生.基于VB·NET技术的智能抄表管理系统的设计与实现[J].电气应用.2006(3):113-114.
[4]周威.在VBNET中用ADO访问Access数据库的方法[J].嘉兴学院.2005(3):39-40.
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。