SyssetDlg.cpp
上传用户:sztwq510
上传日期:2013-06-26
资源大小:4045k
文件大小:3k
源码类别:

酒店行业

开发平台:

Java

  1. // SyssetDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "MyPos.h"
  5. #include "SyssetDlg.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CSyssetDlg dialog
  13. extern CMyPosApp theApp;
  14. CSyssetDlg::CSyssetDlg(CWnd* pParent /*=NULL*/)
  15. : CDialog(CSyssetDlg::IDD, pParent)
  16. {
  17. //{{AFX_DATA_INIT(CSyssetDlg)
  18. // NOTE: the ClassWizard will add member initialization here
  19. //}}AFX_DATA_INIT
  20. }
  21. void CSyssetDlg::DoDataExchange(CDataExchange* pDX)
  22. {
  23. CDialog::DoDataExchange(pDX);
  24. //{{AFX_DATA_MAP(CSyssetDlg)
  25. DDX_Control(pDX, IDC_EDIT_FLOORNUMBER, m_oFloornumber);
  26. DDX_Control(pDX, IDC_EDIT_RESNAME, m_oResname);
  27. //}}AFX_DATA_MAP
  28. }
  29. BEGIN_MESSAGE_MAP(CSyssetDlg, CDialog)
  30. //{{AFX_MSG_MAP(CSyssetDlg)
  31. ON_BN_CLICKED(IDC_BUTTON_SAVESET, OnButtonSaveset)
  32. //}}AFX_MSG_MAP
  33. END_MESSAGE_MAP()
  34. /////////////////////////////////////////////////////////////////////////////
  35. // CSyssetDlg message handlers
  36. BOOL CSyssetDlg::OnInitDialog() 
  37. {
  38. CDialog::OnInitDialog();
  39. CString sname,snumber,stemp;
  40. int nPosition,length;
  41. stemp=GetCompanyname();
  42. length=stemp.GetLength();
  43. nPosition=stemp.Find("&");
  44. sname=stemp.Left(nPosition);
  45. m_oResname.SetWindowText(sname);
  46. snumber=stemp.Right(length-nPosition-1);
  47. m_oFloornumber.SetWindowText(snumber);
  48. return TRUE;  // return TRUE unless you set the focus to a control
  49.               // EXCEPTION: OCX Property Pages should return FALSE
  50. }
  51. void CSyssetDlg::OnButtonSaveset() 
  52. {
  53. CString sname,snumber;
  54. CString sql;
  55. m_oFloornumber.GetWindowText(snumber);
  56. m_oResname.GetWindowText(sname);
  57. if(snumber==""||sname=="")
  58. {
  59. AfxMessageBox("Please materiel companyname,floornumber!");
  60. return;
  61. }
  62. sql="Insert into COMPANY (COMPANYNAME,FLOORNUMBER) values ('"+sname+"','"+snumber+"')";
  63. if(GetCompanyname()!="&")
  64. sql="Update COMPANY set COMPANYNAME='"+sname+"',FLOORNUMBER='"+snumber+"'";
  65. try
  66. { _variant_t RecordsAffected;
  67. theApp.m_pConnection->Execute((_bstr_t)sql,&RecordsAffected,adCmdText);
  68. }
  69. catch(_com_error e)///捕捉异常
  70. {
  71. CString temp;
  72. temp.Format("保存公司名称出错:%s",e.ErrorMessage());
  73. AfxMessageBox(temp);
  74. return;
  75. }
  76. }
  77. CString CSyssetDlg::GetCompanyname()
  78. {
  79. _RecordsetPtr m_pRecordset; //Must define it in function!!!!
  80. CString sql="select * from COMPANY";
  81. CString sname,snumber;
  82. try
  83. {
  84. m_pRecordset.CreateInstance("ADODB.Recordset");
  85. m_pRecordset->Open((_variant_t)sql,_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
  86. if(!m_pRecordset->adoEOF)
  87. {
  88. sname=(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("COMPANYNAME");
  89. snumber=(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("FLOORNUMBER");
  90. }
  91. m_pRecordset->Close();
  92. }
  93. catch(_com_error e)///捕捉异常
  94. {
  95. CString temp;
  96. temp.Format("读取公司名称出错:%s",e.ErrorMessage());
  97. AfxMessageBox(temp);
  98. }
  99. return sname+"&"+snumber;
  100. }