当前位置:首页 > 酒店(宾馆)管理系统--毕业论文+文献翻译
河南科技大学本科毕业设计(论文)
§4.4.3 宿费提醒的实现
客人在住宿前首先要说明住宿天数,根据客人住宿天数和房间价格,宾馆要向客人收取一定的住宿押金。如果客人住宿了10天,而只交付了5天的宿费,入住时间超过5天后,如果没有及时催要住宿费,很容易造成客人未交宿费便离宿,这样便会给宾馆造成损失。为了解决这种情况,本系统设计了宿费提醒功能,可以及时提醒宾馆客人什么时间需补交多少宿费。例如,本例根据押金的多少计算提醒日期。代码如下(Text9为押金金额,DBCombo3为房间价格,Text14为提醒日期):
If Text9.Text<>“” Then Text9.Text=Val(Text9.Text) DTP2.Value=DTP1.ValueVal(DBCombol.Text))
Text14.Text=DTP2.Value End If
+
int(Val(Text9.Text)
/
§4.5 重要程序编码设计
§4.5.1 主面操作代码
系统主界面操作可以根据用户的权限设定,所以要加入连接数据库功能,故在stdafx.h文件中加入以下代码,提供加入ADO的支持: // add the support of ADO
#import \
no_namespace \\
rename (\
并在Myhotel.h中加入: CDatabase m_DB;
_ConnectionPtr m_pConnection;
此外在myhotel.cpp的初始化函数中加入连接数据库的代码:
21
河南科技大学本科毕业设计(论文)
ry//连接数据库 {
CString strConnect;
strConnect.Format(\
if(!m_DB.OpenEx(strConnect,CDatabase::useCursorLib))
{
AfxMessageBox(\ return FALSE ; }
}
catch(CDBException *pE)//抛出异常 {
pE->ReportError(); pE->Delete(); return FALSE; }
// 初始化COM,创建ADO连接等操作
AfxOleInit();
m_pConnection.CreateInstance(__uuidof(Connection));
// 在ADO操作中建议语句中要常用try...catch()来捕获错误信息, //
try {
// 打开本地数据库
m_pConnection->Open(\Info=False;Data
Source=myhotel\
}
22
河南科技大学本科毕业设计(论文)
catch(_com_error e)//抛出可能发生的异常 { }
AfxMessageBox(\数据库连接失败,确认数据库配置正确!\return FALSE;
§4.5.2 主窗口初始化代码
根据登录的操作员的权限来设置登录操作员所有权进行的操作,此功能由函数setuserability来完成,代码为: void CMyhotelDlg::setuserability() {
m_pRecordset.CreateInstance(__uuidof(Recordset)); _variant_t var,varIndex;
//loguserid=\操作员01\
CString strsqlshow;
strsqlshow.Format(\操作员='%s'\ try//打开数据库连接
{
m_pRecordset->Open((_variant_t)(strsqlshow), // 查询表中所有字段
theApp.m_pConnection.GetInterfacePtr(),// 获取库接库的
IDispatch指针
}
catch(_com_error *e)//捕获异常的发生 {
23
adOpenDynamic, adLockOptimistic, adCmdText);
河南科技大学本科毕业设计(论文)
}
AfxMessageBox(e->ErrorMessage());
mynenu=AfxGetMainWnd()->GetMenu();//获得主菜单指针 CString ling=\try {
if(!m_pRecordset->BOF)//判断指针是否在数据集最后
m_pRecordset->MoveFirst();
else { }
//各个模块……………的字段内容读取 拿客房预定为例// AfxMessageBox(\表内数据为空\return;
块
//读取数据表内客房预定字段内容
var = m_pRecordset->GetCollect(\客房预定\if(var.vt != VT_NULL) {
if((LPCSTR)_bstr_t(var)==ling)//判断是否有权限操作客房预定模
{ //如果没有权利就使该菜单灰显 EnableMenuItem(mynenu-
>m_hMenu,ID_MENU_roomprebook,MF_DISABLED|MF_GRAYED);
}}
//各个需要初始化的模块字段读取完毕
//接下来读取数据表内初始化字段内容
var = m_pRecordset->GetCollect(\初始化\if(var.vt != VT_NULL) {
24
共分享92篇相关文档