C源码Part X.docx
《C源码Part X.docx》由会员分享,可在线阅读,更多相关《C源码Part X.docx(19页珍藏版)》请在冰豆网上搜索。
![C源码Part X.docx](https://file1.bdocx.com/fileroot1/2023-1/27/dfeb8551-62e9-4586-9763-6805370a83db/dfeb8551-62e9-4586-9763-6805370a83db1.gif)
C源码PartX
C++源码=>PartOne
Addmoneydlg.cpp:
implementationfile
#include"stdafx.h"
#include"Myhotel.h"
#include"Addmoneydlg.h"
#include
#include
#ifdef_xfOkOneDEBUG
#definenewDEBUG_xfOkOneNEW
#undefTHIS_xfOkOneFILE
staticcharTHIS_xfOkOneFILE[]=_xfOkOne_xfOkOneFILE_xfOkOne_xfOkOne;
#endif
externCStringloguserid;
externCMyhotelApptheApp;
CAddmoneydlgdialog
CAddmoneydlg:
:
CAddmoneydlg(CWndpParent=NULL)
:
CDialog(CAddmoneydlg:
:
IDD,pParent)
{
{{AFX_xfOkOneDATA_xfOkOneINIT(CAddmoneydlg)
m_xfOkOneaddmoney_xfOkOneregnumber=_xfOkOneT("");
m_xfOkOneaddmoney_xfOkOnename=_xfOkOneT("");
m_xfOkOneaddmoney_xfOkOneoutdate=_xfOkOneT("");
m_xfOkOneaddmoney_xfOkOneouttime=_xfOkOneT("");
m_xfOkOneaddmoney_xfOkOneprehandmoney=_xfOkOneT("");
m_xfOkOneaddmoney_xfOkOneroomlevel=_xfOkOneT("");
m_xfOkOneaddmoney_xfOkOneroommoney=_xfOkOneT("");
m_xfOkOneaddmoney_xfOkOneroomnumber=_xfOkOneT("");
m_xfOkOneaddmoney_xfOkOnealarmdate=_xfOkOneT("");
m_xfOkOneaddmoney_xfOkOnealarmtime=_xfOkOneT("");
m_xfOkOneaddmoney_xfOkOnecheckdays=0.0f;
m_xfOkOneaddmoney_xfOkOneindate=_xfOkOneT("");
m_xfOkOneaddmoney_xfOkOneintime=_xfOkOneT("");
m_xfOkOneaddmoney=_xfOkOneT("");
m_xfOkOneshowuser=_xfOkOneT("");
}}AFX_xfOkOneDATA_xfOkOneINIT
}
voidCAddmoneydlg:
:
DoDataExchange(CDataExchangepDX)
{
CDialog:
:
DoDataExchange(pDX);
{{AFX_xfOkOneDATA_xfOkOneMAP(CAddmoneydlg)
DDX_xfOkOneControl(pDX,IDC_xfOkOneCOMBO_xfOkOneregnumber,m_xfOkOneaddmoney_xfOkOneregnumberctr);
DDX_xfOkOneCBString(pDX,IDC_xfOkOneCOMBO_xfOkOneregnumber,m_xfOkOneaddmoney_xfOkOneregnumber);
DDX_xfOkOneText(pDX,IDC_xfOkOneEDIT_xfOkOnename,m_xfOkOneaddmoney_xfOkOnename);
DDX_xfOkOneText(pDX,IDC_xfOkOneEDIT_xfOkOneoutdate,m_xfOkOneaddmoney_xfOkOneoutdate);
DDX_xfOkOneText(pDX,IDC_xfOkOneEDIT_xfOkOneouttime,m_xfOkOneaddmoney_xfOkOneouttime);
DDX_xfOkOneText(pDX,IDC_xfOkOneEDIT_xfOkOneprehandmoney,m_xfOkOneaddmoney_xfOkOneprehandmoney);
DDX_xfOkOneText(pDX,IDC_xfOkOneEDIT_xfOkOneroomlevel,m_xfOkOneaddmoney_xfOkOneroomlevel);
DDX_xfOkOneText(pDX,IDC_xfOkOneEDIT_xfOkOneroommoney,m_xfOkOneaddmoney_xfOkOneroommoney);
DDX_xfOkOneText(pDX,IDC_xfOkOneEDIT_xfOkOneroomnumber,m_xfOkOneaddmoney_xfOkOneroomnumber);
DDX_xfOkOneText(pDX,IDC_xfOkOneEDIT_xfOkOnealarmdate,m_xfOkOneaddmoney_xfOkOnealarmdate);
DDX_xfOkOneText(pDX,IDC_xfOkOneEDIT_xfOkOnealarmtime,m_xfOkOneaddmoney_xfOkOnealarmtime);
DDX_xfOkOneText(pDX,IDC_xfOkOneEDIT_xfOkOnecheckdays,m_xfOkOneaddmoney_xfOkOnecheckdays);
DDX_xfOkOneText(pDX,IDC_xfOkOneEDIT_xfOkOneindate,m_xfOkOneaddmoney_xfOkOneindate);
DDX_xfOkOneText(pDX,IDC_xfOkOneEDIT_xfOkOneintime,m_xfOkOneaddmoney_xfOkOneintime);
DDX_xfOkOneText(pDX,IDC_xfOkOneaddmoney,m_xfOkOneaddmoney);
DDX_xfOkOneText(pDX,IDC_xfOkOneSTATICshowuser,m_xfOkOneshowuser);
}}AFX_xfOkOneDATA_xfOkOneMAP
}
BEGIN_xfOkOneMESSAGE_xfOkOneMAP(CAddmoneydlg,CDialog)
{{AFX_xfOkOneMSG_xfOkOneMAP(CAddmoneydlg)
ON_xfOkOneBN_xfOkOneCLICKED(ID_xfOkOneaddmoneydlg_xfOkOnecheck,Onaddmoneydlgcheck)
ON_xfOkOneCBN_xfOkOneCLOSEUP(IDC_xfOkOneCOMBO_xfOkOneregnumber,OnCloseupCOMBOregnumber)
ON_xfOkOneBN_xfOkOneCLICKED(IDCANCEL_xfOkOneaddmoney,Onaddmoney)
}}AFX_xfOkOneMSG_xfOkOneMAP
END_xfOkOneMESSAGE_xfOkOneMAP()
CAddmoneydlgmessagehandlers
BOOLCAddmoneydlg:
:
OnInitDialog()
{
CDialog:
:
OnInitDialog();
TODO:
Addextrainitializationhere
使用ADO创建数据库记录集
m_xfOkOnepRecordset.CreateInstance(_xfOkOne_xfOkOneuuidof(Recordset));
_xfOkOnevariant_xfOkOnetvar;
CStringstrregnumber;
在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
try
{
m_xfOkOnepRecordset->Open("SELECTFROMcheckinregtable",查询表中所有字段
theApp.m_xfOkOnepConnection.GetInterfacePtr(),获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_xfOkOnecom_xfOkOneerrore)抛出异常
{
AfxMessageBox(e->ErrorMessage());
}
try
{判断指针是否在数据集最后
if(!
m_xfOkOnepRecordset->BOF)
m_xfOkOnepRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
returnfalse;
}
readdatafromthedatabasetable
while(!
m_xfOkOnepRecordset->adoEOF)
{
var=m_xfOkOnepRecordset->GetCollect("凭证号码");
if(var.vt!
=VT_xfOkOneNULL)
strregnumber=(LPCSTR)_xfOkOnebstr_xfOkOnet(var);
m_xfOkOneaddmoney_xfOkOneregnumberctr.AddString(strregnumber);
m_xfOkOnepRecordset->MoveNext();移动记录指针到下一条记录
}
}
catch(_xfOkOnecom_xfOkOneerrore)如果读数异常,给出提示
{
AfxMessageBox(e->ErrorMessage());
}
关闭记录集
m_xfOkOnepRecordset->Close();
m_xfOkOnepRecordset=NULL;
m_xfOkOneshowuser=loguserid;
更新显示
UpdateData(false);
enable(0);
returnTRUE;returnTRUEunlessyousetthefocustoacontrol
EXCEPTION:
OCXPropertyPagesshouldreturnFALSE
}
voidCAddmoneydlg:
:
enable(boolbEnabled)
{
m_xfOkOneComYSFS.EnableWindow(bEnabled);
改变输入框状态
GetDlgItem(IDC_xfOkOneCOMBO_xfOkOneregnumber)->EnableWindow(bEnabled);
GetDlgItem(IDC_xfOkOneEDIT_xfOkOnename)->EnableWindow(bEnabled);
GetDlgItem(IDC_xfOkOneEDIT_xfOkOneoutdate)->EnableWindow(bEnabled);
GetDlgItem(IDC_xfOkOneEDIT_xfOkOneouttime)->EnableWindow(bEnabled);
GetDlgItem(IDC_xfOkOneEDIT_xfOkOneprehandmoney)->EnableWindow(bEnabled);
GetDlgItem(IDC_xfOkOneEDIT_xfOkOneroomlevel)->EnableWindow(bEnabled);
GetDlgItem(IDC_xfOkOneEDIT_xfOkOneroommoney)->EnableWindow(bEnabled);
GetDlgItem(IDC_xfOkOneEDIT_xfOkOneroomnumber)->EnableWindow(bEnabled);
GetDlgItem(IDC_xfOkOneEDIT_xfOkOnealarmdate)->EnableWindow(bEnabled);
GetDlgItem(IDC_xfOkOneEDIT_xfOkOnealarmtime)->EnableWindow(bEnabled);
GetDlgItem(IDC_xfOkOneEDIT_xfOkOnecheckdays)->EnableWindow(bEnabled);
GetDlgItem(IDC_xfOkOneEDIT_xfOkOneindate)->EnableWindow(bEnabled);
GetDlgItem(IDC_xfOkOneEDIT_xfOkOneintime)->EnableWindow(bEnabled);
GetDlgItem(IDC_xfOkOneaddmoney)->EnableWindow(bEnabled);
GetDlgItem(IDOK)->EnableWindow(bEnabled);
}
voidCAddmoneydlg:
:
Onaddmoneydlgcheck()
{
TODO:
Addyourcontrolnotificationhandlercodehere
enable
(1);
}
voidCAddmoneydlg:
:
OnCloseupCOMBOregnumber()
{
TODO:
Addyourcontrolnotificationhandlercodehere
_xfOkOnevariant_xfOkOnetvar;
使用ADO创建数据库记录集
m_xfOkOnepRecordset.CreateInstance(_xfOkOne_xfOkOneuuidof(Recordset));
在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
UpdateData(true);
m_xfOkOneaddmoney_xfOkOneregnumberctr.GetWindowText(m_xfOkOneaddmoney_xfOkOneregnumber);
CStringstrsql;
strsql.Format("SELECTFROMcheckinregtablewhere凭证号码='%s'",m_xfOkOneaddmoney_xfOkOneregnumber);
try
{打开数据表
m_xfOkOnepRecordset->Open(_xfOkOnevariant_xfOkOnet(strsql),查询表中所有字段
theApp.m_xfOkOnepConnection.GetInterfacePtr(),获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_xfOkOnecom_xfOkOneerrore)捕获异常
{
AfxMessageBox(e->ErrorMessage());
}
try
{判断指针是否在数据集最后
if(!
m_xfOkOnepRecordset->BOF)
m_xfOkOnepRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
return;
}
readdatafromthedatabasetable
读取姓名
var=m_xfOkOnepRecordset->GetCollect("姓名");
if(var.vt!
=VT_xfOkOneNULL)
m_xfOkOneaddmoney_xfOkOnename=(LPCSTR)_xfOkOnebstr_xfOkOnet(var);
读取房间号
var=m_xfOkOnepRecordset->GetCollect("房间号");
if(var.vt!
=VT_xfOkOneNULL)
m_xfOkOneaddmoney_xfOkOneroomnumber=(LPCSTR)_xfOkOnebstr_xfOkOnet(var);
读取客房类型
var=m_xfOkOnepRecordset->GetCollect("客房类型");
if(var.vt!
=VT_xfOkOneNULL)
m_xfOkOneaddmoney_xfOkOneroomlevel=(LPCSTR)_xfOkOnebstr_xfOkOnet(var);
读取客房价格
var=m_xfOkOnepRecordset->GetCollect("客房价格");
if(var.vt!
=VT_xfOkOneNULL)
m_xfOkOneaddmoney_xfOkOneroommoney=(LPCSTR)_xfOkOnebstr_xfOkOnet(var);
读取住宿天数
var=m_xfOkOnepRecordset->GetCollect("住宿天数");
if(var.vt!
=VT_xfOkOneNULL)
m_xfOkOneaddmoney_xfOkOnecheckdays=atof((LPCSTR)_xfOkOnebstr_xfOkOnet(var));
CStringcheckindate;读取住宿日期
var=m_xfOkOnepRecordset->GetCollect("住宿日期");
if(var.vt!
=VT_xfOkOneNULL)
m_xfOkOneaddmoney_xfOkOneindate=(LPCSTR)_xfOkOnebstr_xfOkOnet(var);
读取住宿时间
var=m_xfOkOnepRecordset->GetCollect("住宿时间");
if(var.vt!
=VT_xfOkOneNULL)
m_xfOkOneaddmoney_xfOkOneintime=(LPCSTR)_xfOkOnebstr_xfOkOnet(var);
读取预收金额
var=m_xfOkOnepRecordset->GetCollect("预收金额");
if(var.vt!
=VT_xfOkOneNULL)
m_xfOkOneaddmoney_xfOkOneprehandmoney=(LPCSTR)_xfOkOnebstr_xfOkOnet(var);
else
m_xfOkOneaddmoney_xfOkOneprehandmoney="000";
读取退宿日期
var=m_xfOkOnepRecordset->GetCollect("退宿日期");
if(var.vt!
=VT_xfOkOneNULL)
m_xfOkOneaddmoney_xfOkOneoutdate=(LPCSTR)_xfOkOnebstr_xfOkOnet(var);
读取退宿时间
var=m_xfOkOnepRecordset->GetCollect("退宿时间");
if(var.vt!
=VT_xfOkOneNULL)
m_xfOkOneaddmoney_xfOkOneouttime=(LPCSTR)_xfOkOnebstr_xfOkOnet(var);
读取提醒日期
var=m_xfOkOnepRecordset->GetCollect("提醒日期");
if(var.vt!
=VT_xfOkOneNULL)
m_xfOkOneaddmoney_xfOkOnealarmdate=(LPCSTR)_xfOkOnebstr_xfOkOnet(var);
读取提醒时间
var=m_xfOkOnepRecordset->GetCollect("提醒时间");
if(var.vt!
=VT_xfOkOneNULL)
m_xfOkOneaddmoney_xfOkOnealarmtime=(LPCSTR)_xfOkOnebstr_xfOkOnet(var);
更新显示
UpdateData(false);
从数据库内读取数据完毕
}
catch(_xfOkOnecom_xfOkOneerrore)
{如果读数异常,给出提示
AfxMessageBox(e->ErrorMessage());
}
关闭记录集
m_xfOkOnepRecordset->Close();
m_xfOkOnepRecordset=NULL;
更新显示
UpdateData(false);
}
voidCAddmoneydlg:
:
OnOK()
{
TODO:
Addextravalidationhere
UpdateData(true);
获得输入框内的输入数据
m_xfOkOnepRecordsetout.CreateInstance(_xfOkOne_xfOkOneuuidof(Recordset));
CStringstrsqlstore;
strsqlstore.Format("SELECTFROMcheckinregtablewhere
凭证号码='%s'",m_xfOkOneaddmoney_xfOkOneregnumber);
try连接数据库
{
m_xfOkOnepRecordsetout->Open(_xfOkOnevariant_xfOkOnet(strsqlstore),查询表中所有字段
theApp.m_xfOkOnepConnection.GetInterfacePtr(),
获取库接库的IDispatch指针
adOpenDynamic