酒店管理系统oracle后台+Delphi文档格式.docx
《酒店管理系统oracle后台+Delphi文档格式.docx》由会员分享,可在线阅读,更多相关《酒店管理系统oracle后台+Delphi文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
![酒店管理系统oracle后台+Delphi文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/22/382ecdae-5f98-4b36-b6c3-db77423217be/382ecdae-5f98-4b36-b6c3-db77423217be1.gif)
18
房间号码
联系方式
20
住宿日期
Date
住宿天数
Int
性别
4
createtabledj(姓名varchar(10),性别varchar(4),住宿日期date,证件varchar(12),证件号码varchar(18),房间号码varchar(10),联系方式varchar(20),住宿天数int);
②客房信息表fjxx用来保存客房的基础信息,其结构如下:
大小
房间号
房间类型
价格
float
8
最大居住人数
int
createtablefjxx(房间号varchar(10),房间类型varchar(20),价格float(8),最大居住人数int);
③酒店信息表jdxx用来保存酒店的信息,其结构如下:
公司名
50
电话
建立日期
Email
公司地址
邮箱
createtablejdxx(公司名varchar(50),电话varchar(20),建立日期date,Emailvarchar(50),公司地址varchar(50),邮编int);
④客人信息表用来保存入住客户的信息,用于退房,客人信息查询等操作功能的实现。
其基本结构为:
房间金额
folat
createtablekrxx(姓名varchar(10),性别varchar(4),住宿日期date,证件varchar(12),证件号码varchar(18),房间号码varchar(10),联系方式varchar(20),住宿天数int,房间金额float(8));
三、设计过程
1窗体设计
⑴新建一个标准工程,会出现form1,可以遵循默认格式,也可以更改名称,这里默认。
⑵添加所需控件mainmenu,双击控件在其中加入所要进行的功能如下:
添加控件Image插入图片,选中image控件,在其属性表中选中picture,选择需要的图片:
⑶再建立一个Form2,默认格式即可。
在其中加入客房登记所需控件:
⑷再建立一个Form3,默认格式即可,并且在project-options中设置其为主窗体。
在其中加入客房登记所需控件,8个label,8个Edit,两个bitbtn如图:
可以在bitbtn按钮中添加图片,使其更加生动,,选中按钮,在其属性选择Glyph,选择需要的图片即可,注意图片格式要符合要求,还可以为界面换颜色。
⑸再建立一个Form4,默认格式即可。
在其中加入客人信息查询所需控件,1个label,一个Edit,2个按钮,1个DBGrid:
这里需要链接数据库,与krxx表中的信息进行链接。
连接方式为:
首先添加一个数据模板(datemodule),然后选择ADOQuery控件和datasource控件添加到数据模板,选中ADOQuery控件,在其属性中找到connectionstring,进行数据库的链接,选择
⑹再建立一个Form5,默认格式即可。
在其中加入客房登记所需控件,和上面一样:
这个窗体也要进行数据库链接,过程和上面一样,只是链接的表名不同,这里链接的是kfxx表。
双击确定添加代码如下:
withData3.ADOQuery1do
begin
Close;
SQL.Clear;
SQL.Add('
select*fromfjxxwhere房间号码=:
a'
);
Parameters.ParamByName('
).value:
=Trim(edit1.Text);
Open;
end;
关闭键的代码如下:
form5.close;
form1.show;
这样就完成了房间信息查询的操作。
(7)再建立一个Form6,默认格式即可。
在其中加入查看酒店信息所需控件:
1个label,1个按钮,1个DBGrid:
这里主要就是数据库的链接,改用另外一种方式为:
首先
(8)再建立一个Form7,默认格式即可。
在其中加入查看客房信息所需控件,和(7)一样,不过这里可以采用(5)的方法进行数据库的链接。
(9)再建立一个再建立一个Form8,默认格式即可。
在其中加入退房所需控件:
1个label,1个Edit,两个bitbtn,1个DBGrid,和一个DBNavigator如图:
将其与数据库中表krxx链接后,输入证件号码单击DBNavigator控件上的√可以突出显示选择的信息,然后点击退房可以实现退房功能。
2、进行窗体之间的转换
(1)在form3中进行密码设置,双击登录按钮进行代码输入如下:
var
results:
Variant;
BEGIN
=ADOTable1.Lookup('
姓名'
edit1.text,'
密码'
ifresults=edit2.Textthen
begin
form3.Hide;
form1.Show;
end
else
application.MessageBox('
姓名或密码错误'
'
提示信息'
64);
edit1.SetFocus;
exit;
end;
退出代码为:
close;
(2)在form1中进行剩余各form间的连接,在form1中分别单击要实现的功能菜单按钮,并分别输入代码,得到的最后代码如下:
procedureTForm1.N2Click(Sender:
TObject);
form1.Hide;
form2.showmodal;
procedureTForm1.N3Click(Sender:
form4.showmodal;
procedureTForm1.N4Click(Sender:
form5.ShowModal;
procedureTForm1.N5Click(Sender:
form6.ShowModal;
procedureTForm1.N6Click(Sender:
form1.hide;
form7.ShowModal;
procedureTForm1.N8Click(Sender:
form8.ShowModal;
procedureTForm1.N7Click(Sender:
procedureTForm1.FormCreate(Sender:
并且要在uint1的连接代码上添加:
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,Menus,DB,ADODB,unit2,unit4,unit5,unit6,unit7,unit8,;
(3)在form2中进行和form1间的转换,代码如下:
双击关闭按钮添加代码:
form2.close;
form1.show;
(4)在form4,form5,form6,form7中进行form1间的转换,代码类似(3)。
3、form1中退出菜单的实现
双击退出菜单进行代码输入:
即可。
至此完成了菜单管理的实现,可以运行后进行各功能的实现。
四、实践感想
本次课程设计,使我进一步巩固了知识我更加深刻地了解了oracle和Delphi的功能,了解到这些软件的强大功能。
不过在学习的过程中遇到了很多困难,比如Delphi和oracle数据库之间的连接。
我还需要进一步了解和学习。
②代码设计
PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)
SelectCaseButton.Key
Case"
DJ"
zsdj_Click
TF"
tf_Click
FT"
ftck_Click
CX"
zscx_Click
exit"
IfMsgBox("
确定退出该系统?
"
4,"
系统提示"
)=vbYesThen
End
EndIf
EndSelect
EndSub
PrivateSubsztx_Click()
DimStr
CommonDialog1.Filter="
BMP图片(*.BMP)|*.BMP|JPG图片(*.JPG)|*.JPG|GIF图片(*.GIF)|*.GIF|所有文件(*.*)|*.*"
CommonDialog1.ShowOpen
IfCommonDialog1.<
>
"
Then
Image2.Picture=LoadPicture(CommonDialog1.)
Str=CommonDialog1.
Open(App.Path&
\picture.txt"
)ForOutputAs#1
Print#1,Str
Close#1
CommonDialog1.="
Else
EndIf
PrivateSubsjbf_Click()
main_sjbf.Show
main.Enabled=False
PrivateSubsjhf_Click()
main_sjhf.Show
PrivateSubzsdj_Click()
main_kfdj.Show
main.Enabled=False
PrivateSubtf_Click()
main_tf.Show
PrivateSubkfcx_Click()
main_kfcx.Show
PrivateSubftck_Click()
main_ftcx.Show
PrivateSubzscx_Click()
Loadmain_zscx
main_zscx.Show
PrivateSubtfcx_Click()
Loadmain_tfcx
main_tfcx.Show
2.系统登录模块设计
①窗体设计
⑴添加新窗体,命名为main_Login,Caption属性为“酒店客房管理系统”;
⑵添加Adodc控件以及两个TextBox控件,Text1放在用户名后,Text2放在密码后;
⑶添加两个Image控件,分别设置Picture属性,添加“确定”和“退出”按钮。
PrivateSubImage1_Click()
IfText1.Text=7AndText2.Text=123456Then
main.Show
Me.Hide
Else
MsgBox"
密码错误!
vbCritical,"
提示"
PrivateSubImage2_Click()
End
3.住宿登记模块
⑴添加新窗体命名为main_kfdj,Caption属性为“住宿登记”;
⑵添加两个Adodc控件、TextBox控件数组以及2个DTPicker控件;
⑶添加3个ComboBox控件。
PrivateSubcomdj_Click()
Adodc1.ConnectionString="
PROVIDER=MSDASQL;
DRIVER={OracleinOraDb11g_home1};
&
server=webserver;
DSN=;
databasename=aa;
databasefile=d:
\\aa\\;
UID=scott;
PWD=123456"
Adodc1.RecordSource="
select*fromtb_kfwhere房态='
空房'
Adodc1.Refresh
Adodc2.ConnectionString="
Adodc2.RecordSource="
select*fromtb_djborderby凭证号码"
Adodc2.Refresh
IfNotAdodc2.Recordset.EOFThenAdodc2.Recordset.MoveLast
Iflsph.Text="
Thenbh.Text=Fdate&
d"
Format(1,"
###000"
)
Iflsph.Text<
y1.Text=Month(Fdate)
y2.Text=Month(Left(lsph.Text,10))
Ify1.Text=y2.TextThen
'
bh.Text=Fdate&
Format(Val(Right(lsph.Text,3))+1,"
Text1.Text=Val(Right(lsph.Text,3))+1
Ify1.Text<
y2.TextThen
bh.Text=Fdate&
Fori=0To2
ZSDJ(i).Text="
ZSDJ(i).Enabled=True
Nexti
Fori=4To6
Combo3.Text="
Comok.Enabled=True:
Comdj.Enabled=False
Combo3.Enabled=True:
Combo1.Enabled=True
ZSDJ(0).SetFocus
Adodc3.ConnectionString="
Adodc3.RecordSource="
select*fromtb_kfwhere房态='
Adodc3.Refresh
Combo3.Clear
IfAdodc3.Recordset.RecordCount>
0Then
Fori=1ToAdodc3.Recordset.RecordCount
Combo3.AddItemAdodc3.Recordset.Fields("
房间号"
).Value
Adodc3.Recordset.MoveNext
PrivateSubcomok_Click()
IfZSDJ(0)="
OrCombo3="
请输入完整信息"
,"
select*fromtb_djbwhere房间号='
Combo3.Text&
'
and标志like'
1'
IfAdodc2.Recordset.RecordCount=0Then
Adodc2.Recordset.AddNew
Ifbh.Text<
ThenAdodc2.Recordset.Fields("
凭证号码"
)=bh.Text
IfZSDJ(0).Text<
姓名"
)=ZSDJ(0).Text
IfCombo1.Text<
证件名称"
)=Combo1.Text
IfZSDJ
(1).Text<
证件号码"
)=ZSDJ
(1).Text
IfZSDJ
(2).Text<
详细地址"
)=ZSDJ
(2).Text
IfCombo3.Text<
)=Val(Combo3.Text)
IfZSDJ(4).Text<
客房类型"
)=ZSDJ(4).Text
IfDTP1.Value<
住宿日期"
)=DTP1.Value
IfZSDJ(5).Text<
客房价格"
)=Val(ZSDJ(5).Text)
IfZSDJ(6).Text<
住宿天数"
)=ZSDJ(6).Text
IfZSDJ(7).Text<
宿费"
)=ZSDJ(7).Text
IfDTP3.Value<
退宿日期"
)=DTP3.Value
Adodc2.Recordset.Update
adocon.Open"
Provider=Microsoft.Jet.OLEDB.4.0;
DataSource="
App.Path&
\DB_KFGL.mdb;
PersistSecurityInfo=False"
adoRs.Open"
select*fromtb_djys"
adocon,adOpenKeyset,adLockOptimistic
adoRs.AddNew
ThenadoRs.Fields("
)=