| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- // DialogDbInit.cpp : 实现文件
- //
- #include "stdafx.h"
- #include "FirstStep.h"
- #include "DialogDbInit.h"
- #include "afxdialogex.h"
- #include "ConfigLoader.h"
- // CDialogDbInit 对话框
- IMPLEMENT_DYNAMIC(CDialogDbInit, CDialogEx)
- CDialogDbInit::CDialogDbInit(CWnd* pParent /*=NULL*/)
- : CDialogEx(CDialogDbInit::IDD, pParent)
- {
- }
- CDialogDbInit::~CDialogDbInit()
- {
- }
- void CDialogDbInit::DoDataExchange(CDataExchange* pDX)
- {
- CDialogEx::DoDataExchange(pDX);
- DDX_Control(pDX, IDC_CMB_DB_TYPE, m_CmbDbType);
- DDX_Check(pDX, IDC_CHK_CFG_TABLE, m_InitCfgTable);
- DDX_Check(pDX, IDC_CHECK_S_TABLE, m_InitSTable);
- }
- BEGIN_MESSAGE_MAP(CDialogDbInit, CDialogEx)
- ON_BN_CLICKED(IDOK, &CDialogDbInit::OnBnClickedOk)
- ON_BN_CLICKED(IDCANCEL, &CDialogDbInit::OnBnClickedCancel)
- END_MESSAGE_MAP()
- // CDialogDbInit 消息处理程序
- void CDialogDbInit::OnBnClickedOk()
- {
- // TODO: 在此添加控件通知处理程序代码
- UpdateData();
- if(!m_InitCfgTable && !m_InitSTable)
- {
- MessageBox(_T("请选择需要创建的数据库表!"), MSGBOX_TIP_CAPTION);
- return;
- }
- DB_TYPE DbTp = (DB_TYPE)m_CmbDbType.GetCurSel();
- if(DbTp != DB_SQLServer && DbTp != DB_MySQL)
- {
- MessageBox(_T("目前仅支持SqlServer和MySQL数据库!"), MSGBOX_TIP_CAPTION);
- return;
- }
- CString Result;
- if(MessageBox(_T("您确定要创建相关数据库表吗?此操作将清空原有的同名数据库表的所有数据!"), _T("数据库初始化"), MB_ICONQUESTION|MB_YESNO) == IDYES)
- {
- if(m_InitCfgTable)
- if(!CConfigLoader::GetInstance().createTableConfig(DbTp))
- Result = _T("配置表创建失败!\r\n");
- if(m_InitSTable)
- if(!CConfigLoader::GetInstance().createTableStatistics(DbTp))
- Result += _T("统计表创建失败!\r\n");
- }
- Result += _T("数据库表创建完成");
- MessageBox(Result, MSGBOX_TIP_CAPTION);
- CDialogEx::OnOK();
- }
- void CDialogDbInit::OnBnClickedCancel()
- {
- // TODO: 在此添加控件通知处理程序代码
- CDialogEx::OnCancel();
- }
- BOOL CDialogDbInit::PreTranslateMessage(MSG* pMsg)
- {
- // TODO: 在此添加专用代码和/或调用基类
- if((pMsg->message == WM_KEYDOWN) && (pMsg->wParam == VK_ESCAPE))
- return TRUE;
- return CDialogEx::PreTranslateMessage(pMsg);
- }
- BOOL CDialogDbInit::OnInitDialog()
- {
- CDialogEx::OnInitDialog();
- // TODO: 在此添加额外的初始化
- m_CmbDbType.AddString(DB_TYPE_SQL_SERVER);
- m_CmbDbType.AddString(DB_TYPE_MYSQL);
- m_CmbDbType.AddString(DB_TYPE_ORACLE);
- DB_TYPE tp = IOtlConnection::getInstance()->GetDatabaseType();
- if(DB_SQLServer == tp)
- m_CmbDbType.SetCurSel(0);
- else if(DB_MySQL == tp)
- m_CmbDbType.SetCurSel(1);
- else
- m_CmbDbType.SetCurSel(2);
- return TRUE; // return TRUE unless you set the focus to a control
- // 异常: OCX 属性页应返回 FALSE
- }
|