?? addareadlg.cpp
字號:
// ADDAreaDlg.cpp : 實現文件
//
#include "stdafx.h"
#include "House.h"
#include "ADDAreaDlg.h"
#include ".\addareadlg.h"
// CADDAreaDlg 對話框
IMPLEMENT_DYNAMIC(CADDAreaDlg, CDialog)
CADDAreaDlg::CADDAreaDlg(CWnd* pParent /*=NULL*/)
: CDialog(CADDAreaDlg::IDD, pParent)
, m_Name(_T(""))
{
m_pDB = NULL;
}
CADDAreaDlg::~CADDAreaDlg()
{
}
void CADDAreaDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST_AREA, m_AreaList);
DDX_Text(pDX, IDC_EDIT_NAME, m_Name);
}
BEGIN_MESSAGE_MAP(CADDAreaDlg, CDialog)
ON_BN_CLICKED(IDOK, OnBnClickedOk)
ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
END_MESSAGE_MAP()
// CADDAreaDlg 消息處理程序
void CADDAreaDlg::OnBnClickedCancel()
{
OnCancel();
}
void CADDAreaDlg::SetDB( CDaoDatabase *pDB )
{
m_pDB = pDB;
}
BOOL CADDAreaDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: 在此添加額外的初始化
LoadName();
return TRUE; // return TRUE unless you set the focus to a control
// 異常: OCX 屬性頁應返回 FALSE
}
// 將所有的區名讀入List框
void CADDAreaDlg::LoadName()
{
// 刪除所有記錄
while(m_AreaList.GetCount() > 0 )
m_AreaList.DeleteString(0);
CDaoTableDefInfo info;
for( int i = 0; i < m_pDB->GetTableDefCount(); i++ )
{
m_pDB->GetTableDefInfo(i,info);
if( info.m_lAttributes & dbSystemObject )
continue;
m_AreaList.AddString( info.m_strName );
}
}
// 判斷表是否已經存在
bool CADDAreaDlg::HaveTableName( CString name )
{
for( int i = 0; i < m_AreaList.GetCount(); i++ )
{
CString temp;
m_AreaList.GetText(i,temp);
if( temp == name )
return true;
}
return false;
}
// 添加
void CADDAreaDlg::OnBnClickedOk()
{
if( UpdateData() == false )
return;
if( HaveTableName( m_Name ) )
{
MessageBox("該區域已經存在,不能在添加了");
return;
}
m_Name.Replace("'","''");
CString temp,sql;
temp.Format("CREATE TABLE %s",m_Name);
sql = temp;
temp = "(NAME CHAR(32),";
sql += temp;
temp = "AREA NUMBER,";
sql += temp;
temp = "FLOOR NUMBER,";
sql += temp;
temp = "PRICE NUMBER,";
sql += temp;
temp = "NUM NUMBER,";
sql += temp;
temp = "DEVELOPER CHAR(32) )";
sql += temp;
try
{
m_pDB->Execute( sql );
}
catch(...)
{
MessageBox( "創建表失敗" );
}
// 重新打開數據庫,以適應更改
try
{
m_pDB->Close();
m_pDB->Open("house.mdb");
}
catch(...)
{
MessageBox("數據庫打開失敗");
}
LoadName();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -