⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 updatedlg.cpp

📁 mfc火车班查询系统
💻 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 + -