中间件标准版5.1git,去除基础模块

DialogDbInit.cpp 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. // DialogDbInit.cpp : 实现文件
  2. //
  3. #include "stdafx.h"
  4. #include "FirstStep.h"
  5. #include "DialogDbInit.h"
  6. #include "afxdialogex.h"
  7. #include "ConfigLoader.h"
  8. // CDialogDbInit 对话框
  9. IMPLEMENT_DYNAMIC(CDialogDbInit, CDialogEx)
  10. CDialogDbInit::CDialogDbInit(CWnd* pParent /*=NULL*/)
  11. : CDialogEx(CDialogDbInit::IDD, pParent)
  12. {
  13. }
  14. CDialogDbInit::~CDialogDbInit()
  15. {
  16. }
  17. void CDialogDbInit::DoDataExchange(CDataExchange* pDX)
  18. {
  19. CDialogEx::DoDataExchange(pDX);
  20. DDX_Control(pDX, IDC_CMB_DB_TYPE, m_CmbDbType);
  21. DDX_Check(pDX, IDC_CHK_CFG_TABLE, m_InitCfgTable);
  22. DDX_Check(pDX, IDC_CHECK_S_TABLE, m_InitSTable);
  23. }
  24. BEGIN_MESSAGE_MAP(CDialogDbInit, CDialogEx)
  25. ON_BN_CLICKED(IDOK, &CDialogDbInit::OnBnClickedOk)
  26. ON_BN_CLICKED(IDCANCEL, &CDialogDbInit::OnBnClickedCancel)
  27. END_MESSAGE_MAP()
  28. // CDialogDbInit 消息处理程序
  29. void CDialogDbInit::OnBnClickedOk()
  30. {
  31. // TODO: 在此添加控件通知处理程序代码
  32. UpdateData();
  33. if(!m_InitCfgTable && !m_InitSTable)
  34. {
  35. MessageBox(_T("请选择需要创建的数据库表!"), MSGBOX_TIP_CAPTION);
  36. return;
  37. }
  38. DB_TYPE DbTp = (DB_TYPE)m_CmbDbType.GetCurSel();
  39. if(DbTp != DB_SQLServer && DbTp != DB_MySQL)
  40. {
  41. MessageBox(_T("目前仅支持SqlServer和MySQL数据库!"), MSGBOX_TIP_CAPTION);
  42. return;
  43. }
  44. CString Result;
  45. if(MessageBox(_T("您确定要创建相关数据库表吗?此操作将清空原有的同名数据库表的所有数据!"), _T("数据库初始化"), MB_ICONQUESTION|MB_YESNO) == IDYES)
  46. {
  47. if(m_InitCfgTable)
  48. if(!CConfigLoader::GetInstance().createTableConfig(DbTp))
  49. Result = _T("配置表创建失败!\r\n");
  50. if(m_InitSTable)
  51. if(!CConfigLoader::GetInstance().createTableStatistics(DbTp))
  52. Result += _T("统计表创建失败!\r\n");
  53. }
  54. Result += _T("数据库表创建完成");
  55. MessageBox(Result, MSGBOX_TIP_CAPTION);
  56. CDialogEx::OnOK();
  57. }
  58. void CDialogDbInit::OnBnClickedCancel()
  59. {
  60. // TODO: 在此添加控件通知处理程序代码
  61. CDialogEx::OnCancel();
  62. }
  63. BOOL CDialogDbInit::PreTranslateMessage(MSG* pMsg)
  64. {
  65. // TODO: 在此添加专用代码和/或调用基类
  66. if((pMsg->message == WM_KEYDOWN) && (pMsg->wParam == VK_ESCAPE))
  67. return TRUE;
  68. return CDialogEx::PreTranslateMessage(pMsg);
  69. }
  70. BOOL CDialogDbInit::OnInitDialog()
  71. {
  72. CDialogEx::OnInitDialog();
  73. // TODO: 在此添加额外的初始化
  74. m_CmbDbType.AddString(DB_TYPE_SQL_SERVER);
  75. m_CmbDbType.AddString(DB_TYPE_MYSQL);
  76. m_CmbDbType.AddString(DB_TYPE_ORACLE);
  77. DB_TYPE tp = IOtlConnection::getInstance()->GetDatabaseType();
  78. if(DB_SQLServer == tp)
  79. m_CmbDbType.SetCurSel(0);
  80. else if(DB_MySQL == tp)
  81. m_CmbDbType.SetCurSel(1);
  82. else
  83. m_CmbDbType.SetCurSel(2);
  84. return TRUE; // return TRUE unless you set the focus to a control
  85. // 异常: OCX 属性页应返回 FALSE
  86. }