📄 updatedlg.cpp
字号:
// UpdateDlg.cpp : implementation file
//
#include "stdafx.h"
#include "bus.h"
#include "UpdateDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// UpdateDlg dialog
UpdateDlg::UpdateDlg(CWnd* pParent /*=NULL*/)
: CDialog(UpdateDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(UpdateDlg)
m_pstation1 = _T("");
m_pstation2 = _T("");
m_pnum1 = 0;
m_pnum2 = 0;
m_pnum3 = 0;
//}}AFX_DATA_INIT
}
void UpdateDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(UpdateDlg)
DDX_Text(pDX, IDC_EDIT2, m_pstation1);
DDX_Text(pDX, IDC_EDIT4, m_pstation2);
DDX_Text(pDX, IDC_EDIT1, m_pnum1);
DDX_Text(pDX, IDC_EDIT3, m_pnum2);
DDX_Text(pDX, IDC_EDIT5, m_pnum3);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(UpdateDlg, CDialog)
//{{AFX_MSG_MAP(UpdateDlg)
ON_BN_CLICKED(IDADD, OnAdd)
ON_BN_CLICKED(IDDEL, OnDel)
ON_BN_CLICKED(IDEDIT, OnEdit)
ON_BN_CLICKED(IDEDIT2, OnEdit2)
ON_EN_CHANGE(IDC_EDIT3, OnChangeEdit3)
ON_EN_CHANGE(IDC_EDIT4, OnChangeEdit4)
ON_EN_CHANGE(IDC_EDIT5, OnChangeEdit5)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// UpdateDlg message handlers
void UpdateDlg::OnAdd()
{
CWaitCursor wait;
if(!m_pdatabase.Open(NULL,FALSE,FALSE,"ODBC;DSN=test1"))
{
AfxMessageBox("Failed to open database");
}
m_pset.Open();
if(!m_pset.CanAppend())
{
AfxMessageBox("you can't add a new record to this database");
return;
}
m_pset.AddNew();
UpdateData(TRUE);
m_pset.m_bus_number=m_pnum1;
m_pset.m_bus_station=m_pstation1;
if(m_pset.CanUpdate( ))
m_pset.Update( );
m_pset.Requery( );
m_pset.Close();
m_pnum1=0;
m_pstation1="";
UpdateData(false);
AfxMessageBox("已经成功添加到数据库");
}
void UpdateDlg::OnOK()
{
CDialog::OnOK();
}
void UpdateDlg::OnDel()
{
CWaitCursor wait;
m_pdatabase.Close();
if(!m_pdatabase.Open(NULL,FALSE,FALSE,"ODBC;DSN=test1"))
{
AfxMessageBox("Failed to open database");
}
m_pset.Open();
UpdateData(true);
m_pset.MoveFirst();
m_pset.m_strFilter="[bus_number],[bus_station]";
while(m_pset.m_bus_number!=m_pnum3)
m_pset.MoveNext();
m_pset.Delete();
m_pnum3=0;
UpdateData(false);
AfxMessageBox("成功删除指定的车次");
m_pset.Close();
}
void UpdateDlg::OnEdit()
{
//CWaitCursor wait;
m_pdatabase.Close();
if(!m_pdatabase.Open(NULL,FALSE,FALSE,"ODBC;DSN=test1"))
{
AfxMessageBox("Failed to open database");
}
m_pset.Open();
m_pset.MoveFirst();
while(m_pset.m_bus_number!=m_pnum2)
m_pset.MoveNext();
m_pset.Edit();
UpdateData(true);
m_pset.m_bus_number=m_pnum2;
m_pset.m_bus_station=m_pstation2;
if( m_pset.CanUpdate ( ))
m_pset.Update( );
m_pset.Requery( );
AfxMessageBox("成功修改");
m_pset.Close();
}
void UpdateDlg::OnEdit2()
{
CWnd * pw =GetDlgItem(IDC_EDIT4);
pw->EnableWindow(true);
CWaitCursor wait;
m_pdatabase.Close();
if(!m_pdatabase.Open(NULL,FALSE,FALSE,"ODBC;DSN=test1"))
{
AfxMessageBox("Failed to open database");
}
m_pset.Open();
UpdateData(true);
m_pset.MoveFirst();
m_pset.m_strFilter="[bus_number]";
while(m_pset.m_bus_number!=m_pnum2)
m_pset.MoveNext();
m_pnum2=m_pset.m_bus_number;
m_pstation2=m_pset.m_bus_station;
UpdateData(false);
m_pset.Close();
}
void UpdateDlg::OnChangeEdit3()
{
CWnd * pw =GetDlgItem(IDEDIT2);
pw->EnableWindow(true);
}
void UpdateDlg::OnChangeEdit4()
{
CWnd * pw =GetDlgItem(IDEDIT);
pw->EnableWindow(true);
}
void UpdateDlg::OnChangeEdit5()
{
CWnd * pw =GetDlgItem(IDDEL);
pw->EnableWindow(true);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -