tomers("Jones").AvailableCredit){}
已声明类型的数据集的代码更易阅读。因为提供了语句结束,所以它还便于编写。例如,"AvailableCredit"在完成以下语句的选择列表中:
IFTotalCost>Customer.
最后,已声明类型的数据集的代码更安全,原因在于它提供对类型的编译时检查。例如,假定AvailableCredit表达为货币值。如果程序员误向AvailableCredit分配了字符串值,则环境会在编译时向程序员报告该错误。当使用未声明类型的数据集时,程序员直到运行时才会知道该错误。
性能
对于不连接的应用程序,ADO.NET数据库提供的性能优于ADO不连接的记录集。当使用COM封送在层间传输不连接的记录集时,会因将记录集内的值转换为COM可识别的数据类型而导致显著的处理开销。在ADO.NET中,这种数据类型转换则没有必要。
可伸缩性
因为Web可以极大增加对数据的需求,所以可缩放性变得很关键。Internet应用程序具有无限的潜在用户供应。尽管应用程序可以很好地为十几个用户服务,但它可能不能向成百上千个(或几百万个)用户提供同样好的服务。使用数据库锁和数据库连接之类资源的应用程序不能很好地为大量用户服务,因为用户对这些有限资源的需求最终将超出其供应。
ADO.NET通过鼓励程序员节省有限资源来实现可缩放性。由于所有ADO.NET应用程序都使用对数据的不连接访问,因此它不会在较长持续时间内保留数据库锁或活动数据库连接。
4项目实现
4.1数据库设计结果
数据库基本表设计结构界图如下:
(4.1.1优惠活动表设计图)
(4.1.2客人信息表设计图)
(4.1.3开台表设计图)
(4.1.4房台信息表设计图)
(4.1.5操作员表设计图)
(4.1.6点菜表设计图)
(4.1.7酒菜信息表设计图)
数据库表结构联系图如下:
(4.1.8酒店管理系统数据库表结构图)
4.2应用程序设计
4.2.1登陆界面设计:
(4.2.1用户登陆界面)
用户登陆界面的设计鉴于安全性的考虑采用了不使用dataset来存储,而使用dataread来快速读取数据,从而避免客户端存储登陆用户信息,登陆时会有严格的登陆条件限制,而且当条件符合登陆时还要验证用户的权限级别,从而确定其对数据库操作的权限,然后来决定其是否在相应模块有使用的权利.
4.2.2用户登陆后的主界面设计
(4.2.2酒店管理系统主窗体)
其结构布局设计如下:
4.2.2.1第一部分菜单项
菜单项有信息设置、信息查询、生成打印/结帐、数据统计、管理员设置、辅助工具、关于等七大项,其分别对应七大模块。
信息设置菜单中主要是添加、删除、修改等对客人和酒店的基本业务信息而操作的,然后往下面细分有客人信息设置、房台信息设置、酒菜信息设置、优惠活动信息设置、点菜、退出,而其中把客人信息设置和开设房台业务整合在一起到客人信息设置模块。
信息查询菜单中主要是帮助及时查询房台的使用情况和入住客人的详细情况,其中划分了两个模块分别是房台使用情况和客人入住信息查询。
生成打印/结帐中主要是负责未结帐客户的消费清单的打印、客户结帐业务,下也有两大模块消费清单打印、结帐。
数据统计菜单项中主要是业务数据信息的信息分析统计,其中化分未三个模块分别是月数据统计、日数据统计、数据信息统计。
管理员设置菜单项中主要是管理帐号的管理、更改登陆帐号、数据库数据的初始化、数据库的备份和恢复等功能,模块划分为管理员管理、更改登陆帐户、期初设置、系统日志查看、数据备份、数据恢复项。
辅助工具菜单项的设计主要是为了在日常业务数据的管理中,提高数据的管理效率,其中有一些常用的工具,主要包括记事本、计算器、语音录制和提醒、屏幕键盘模块项。
关于菜单项是用户在使用的过程中获取简要帮助而设计,它包括系统、联系我两个模块。
4.2.2.2第二部分工具栏
在菜单项的下面列了若干工具栏,设计工具栏里放置了酒店管理业务中经常遇到的信息管理模块及工具,并添加了有代表说明性的图片和附有详细的备注提示供用户使用。
4.2.2.3第三部分窗体的主体
这一部分没有什么好说的,但是值得一提的是,主题正中显示welcometomyapplication!!!!字体,这是我自己设计的一个小程序,其效果是动态显示字体实现word里面彩色效果一样,其设计思路是利用编程的逻辑算法改变字体的属性以达到动态的效果,其代码如下:
'fontcolorchange
Ifb=1Then
b+=1
Label1.ForeColor=ColorDialog1.Color.Honeydew
ElseIfb=2Then
b+=1
Label1.ForeColor=ColorDialog1.Color.GreenYellow
ElseIfb=3Then
b+=1
Label1.ForeColor=ColorDialog1.Color.Red
ElseIfb=4Then
b-=3
Label1.ForeColor=ColorDialog1.Color.SpringGreen
EndIf
4.2.2.4第四部分窗体的状态栏
状态栏有包括三部分左、中、右。左部分的实现是基本的属性设置;中
部分显示登陆帐户信息,其实现是同过用户在登陆窗口登陆的时候把其登陆的相关信息,传递到一个公共变量里面,然后在主窗口中显示出来;右边部分显示即时时间,其实现是通过一个控件timer并设置其属性ToolTipText来控制时间和获取提示信息。
4.2.3详细设计思路及涉及相关技术说明
4.2.3.1客人信息设置窗体
(4.2.3客人信息设置窗体界面)
在此窗体中主要设计了数据表的添加、删除、更新操作等,其中重点在于此窗体涉及到多数据表的更新,和多数据表结合的数据处理技术,还有数据的动态显示效果,其设计周期在设计中占了相当时间,其部分重要代码如下:
PrivateSubsave()
Try
DimlszhAsString=TextBox1.Text
......
ConstnullAsString=""
rzrq=Today
SelectCasenull
CaseTextBox2.Text
MessageBox.Show("姓名不能为空!","警告:",MessageBoxButtons.OK,MessageBoxIcon.Warning,MessageBoxDefaultButton.Button1)
CaseComboBox1.Text
Ifds.Tables("房台信息").Rows.Count=0Then
MsgBox("已经没有可以入住的房间了",MsgBoxStyle.Exclamation,"警告")
ExitSub
......
Else
'设置开台表
Ifrs=""Thenrs=0
cm.CommandText="insertinto开台(流水帐号,房台号,人数,押金,入住日期)values("&CInt(lszh)&",'"&fth&"',"&CInt(rs)&",'"&yj&"','"&rzrq&"')"
cn.Open()
cm.ExecuteNonQuery()
cn.Close()
'设置房台为使用或预定状态
cm.CommandText="update房台信息set状态='使用'where房台号='"&TextBox4.Text&"'"
cn.Open()
cm.ExecuteReader()
cn.Close()
'这里重新生成一个流水帐号
TextBox1.Text="";TextBox2.Text="";TextBox3.Text=""
TextBox4.Text="";TextBox5.Text="";TextBox6.Text=""
TextBox7.Text=""
createindex()
'重新填充数据
cn.Open()
ds.Clear()
cm.Connection=cn
cm.CommandText="select*from客人信息"
customerda.SelectCommand=cm
customerda.Fill(ds,"客人信息")
cm.CommandText="select*from房台信息where状态='空闲'"
houseda.SelectCommand=cm
houseda.Fill(ds,"房台信息")
cm.CommandText="select*from开台"
setupda.SelectCommand=cm
setupda.Fill(ds,"开台")
cn.Close()
MsgBox("录入成功",MsgBoxStyle.Information,"消息")
EndIf
EndSelect
CatchexAsSqlException
MsgBox(ex.ToString)
EndTry
EndSub
4.2.3.2房台信息设置窗体
此窗体主要关联单表,设计技术主要是单表的插入、删除、更新等操作。
(4.2.4房台信息设置
上一篇:
VB_net网吧计费系统软件(论文和程序)
下一篇:
试析影响公路路面平整度的因素及应采取的施工措施