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

📄 newproofdlg.cpp

📁 < Visual C+++SQL Server数据库开发与实例>>一书中的实例核心源程序提供了几个案例的编程源代码。
💻 CPP
字号:
// NewProofDlg.cpp : implementation file
//

#include "stdafx.h"
#include "LibDBS.h"
#include "NewProofDlg.h"
#include "ProofSet.h"
#include "PersonInfoDlg.h"
#include "CheckProofDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CNewProofDlg dialog


CNewProofDlg::CNewProofDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CNewProofDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CNewProofDlg)
	m_strAddress = _T("");
	m_strID = _T("");
	m_strName = _T("");
	m_strProofID = _T("");
	m_strTel = _T("");
	m_iSex = -1;
	//}}AFX_DATA_INIT
}


void CNewProofDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CNewProofDlg)
	DDX_Control(pDX, IDC_COMBO_YEAR, m_comYear);
	DDX_Control(pDX, IDC_COMBO_MONTH, m_comMonth);
	DDX_Control(pDX, IDC_COMBO_DAY, m_comDay);
	DDX_Text(pDX, IDC_EDIT_ADDRESS, m_strAddress);
	DDX_Text(pDX, IDC_EDIT_ID, m_strID);
	DDX_Text(pDX, IDC_EDIT_NAME, m_strName);
	DDX_Text(pDX, IDC_EDIT_PROOF, m_strProofID);
	DDX_Text(pDX, IDC_EDIT_TEL, m_strTel);
	DDX_Radio(pDX, IDC_RADIO_MALE, m_iSex);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CNewProofDlg, CDialog)
	//{{AFX_MSG_MAP(CNewProofDlg)
	ON_BN_CLICKED(IDC_BUTTON_OK, OnButtonOk)
	ON_BN_CLICKED(IDC_BUTTON_CHECK_PROOF, OnButtonCheckProof)
	ON_BN_CLICKED(IDC_BUTTON_BACK, OnButtonBack)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CNewProofDlg message handlers
BOOL CNewProofDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_comYear.AddString("请选择年份");
	m_comYear.AddString("1965");
	m_comYear.AddString("1966");
	m_comYear.AddString("1967");
	m_comYear.AddString("1968");
	m_comYear.AddString("1969");
	m_comYear.AddString("1970");
	m_comYear.AddString("1971");
	m_comYear.AddString("1972");
	m_comYear.AddString("1973");
	m_comYear.AddString("1974");
	m_comYear.AddString("1975");
	m_comYear.AddString("1976");
	m_comYear.AddString("1977");
	m_comYear.AddString("1978");
	m_comYear.AddString("1979");
	m_comYear.AddString("1980");
	m_comYear.AddString("1981");
	m_comYear.AddString("1982");
	m_comYear.AddString("1983");
	m_comYear.AddString("1984");
	m_comYear.AddString("1985");
	m_comYear.AddString("1986");
	m_comYear.AddString("1987");
	m_comYear.AddString("1988");
	m_comYear.AddString("1989");
	m_comYear.AddString("1990");
	m_comYear.AddString("1991");
	m_comYear.AddString("1992");
	m_comYear.AddString("1993");
	m_comYear.AddString("1994");
	m_comYear.AddString("1995");
	m_comYear.AddString("1996");
	m_comYear.AddString("1997");
	m_comYear.AddString("1998");
	m_comYear.AddString("1999");
	m_comYear.AddString("2000");
	m_comYear.SelectString(-1,"请选择年份");

	m_comMonth.AddString("请选择月份");
	m_comMonth.AddString("01");
	m_comMonth.AddString("02");
	m_comMonth.AddString("03");
	m_comMonth.AddString("04");
	m_comMonth.AddString("05");
	m_comMonth.AddString("06");
	m_comMonth.AddString("07");
	m_comMonth.AddString("08");
	m_comMonth.AddString("09");
	m_comMonth.AddString("10");
	m_comMonth.AddString("11");
	m_comMonth.AddString("12");
	m_comMonth.SelectString(-1,"请选择月份");

	m_comDay.AddString("请选择日期");
	m_comDay.AddString("01");
	m_comDay.AddString("02");
	m_comDay.AddString("03");
	m_comDay.AddString("04");
	m_comDay.AddString("05");
	m_comDay.AddString("06");
	m_comDay.AddString("07");
	m_comDay.AddString("08");
	m_comDay.AddString("09");
	m_comDay.AddString("10");
	m_comDay.AddString("11");
	m_comDay.AddString("12");
	m_comDay.AddString("13");
	m_comDay.AddString("14");
	m_comDay.AddString("15");
	m_comDay.AddString("16");
	m_comDay.AddString("17");
	m_comDay.AddString("18");
	m_comDay.AddString("19");
	m_comDay.AddString("20");
	m_comDay.AddString("21");
	m_comDay.AddString("22");
	m_comDay.AddString("23");
	m_comDay.AddString("24");
	m_comDay.AddString("25");
	m_comDay.AddString("26");
	m_comDay.AddString("27");
	m_comDay.AddString("28");
	m_comDay.AddString("29");
	m_comDay.AddString("30");
	m_comDay.AddString("31");
	m_comDay.SelectString(-1,"请选择日期");

	UpdateData(FALSE);
	CheckRadioButton(IDC_RADIO_MALE,IDC_RADIO_FEMALE,IDC_RADIO_MALE);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
void CNewProofDlg::OnButtonOk() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	if(m_strProofID=="")
	{
		MessageBox("请认真填写要求的数据!","办理借阅证");
		return;
	}
	
	if(!m_database.IsOpen())
	{
		if(!m_database.Open(_T("Library")))
		{
			MessageBox("不能打开数据库","办理借阅证");
			return;
		}
	}
	CProofSet *m_pset=new CProofSet(&m_database);
	
	//察看是否已经有该人,有将不予办理!
	CString strSQL;
	strSQL.Format("select * from Proof_Info where Proof_ID='%s'",m_strProofID);
	m_pset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
	if(m_pset->GetRecordCount()!=0)
	{
		MessageBox("这个号码数据库中已经存在,请查询后重新选择!","办理借阅证");
		m_pset->Close();
		m_database.Close();

		m_strProofID.Empty();
		UpdateData(FALSE);
		return;
	}
	m_pset->Close();
	
	//没有这个号码,办理借阅证,存入数据库
	if(m_strProofID==""||m_strName==""||m_strAddress==""
		||m_strID==""||m_strTel=="")
	{
		MessageBox("请认真填写要求的数据!","办理借阅证");
		return;
	}
	m_iSex=GetCheckedRadioButton(IDC_RADIO_MALE,IDC_RADIO_FEMALE);
	if(m_iSex==IDC_RADIO_MALE)
		m_strSex="Male";
	else if(m_iSex==IDC_RADIO_FEMALE)
		m_strSex="Female";
	else
	{
		MessageBox("请选择性别信息!","办理借阅证");
		return;
	}
	CString m_strYear,m_strMonth,m_strDay;
	int m_year,m_month,m_day;
	m_comYear.GetWindowText(m_strYear);
	m_year=atoi(m_strYear);
	m_comMonth.GetWindowText(m_strMonth);
	m_month=atoi(m_strMonth);
	m_comDay.GetWindowText(m_strDay);
	m_day=atoi(m_strDay);

	strSQL.Format("select * from Proof_Info");
	m_pset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
	if(m_pset->GetRecordCount()==0)
	{
		MessageBox("数据库中还没有一份借阅证信息,将办理第一份借阅证","办理借阅证");
	}
	m_pset->AddNew();
	m_pset->SetFieldNull(&(m_pset->m_Proof_ID),FALSE);
	m_pset->m_Proof_ID=m_strProofID;

	m_pset->SetFieldNull(&(m_pset->m_Name),FALSE);
	m_pset->m_Name=m_strName;
	
	m_pset->SetFieldNull(&(m_pset->m_Sex),FALSE);
	m_pset->m_Sex=m_strSex;

	CTime m_strBirthTime(m_year,m_month,m_day,10,5,6,-1);
	m_pset->SetFieldNull(&(m_pset->m_Birth_Time),FALSE);
	m_pset->m_Birth_Time=m_strBirthTime;
	
	m_pset->SetFieldNull(&(m_pset->m_Address),FALSE);
	m_pset->m_Address=m_strAddress;

	m_pset->SetFieldNull(&(m_pset->m_ID_Number),FALSE);
	m_pset->m_ID_Number=m_strID;

	m_pset->SetFieldNull(&(m_pset->m_Tel_Number),FALSE);
	m_pset->m_Tel_Number=m_strTel;

	m_pset->SetFieldNull(&(m_pset->m_Now_Borrow_Amount),FALSE);
	m_pset->m_Now_Borrow_Amount=0;

	m_pset->Update();
	m_pset->Requery();

	m_pset->Close();
	m_database.Close();
	MessageBox("办理借阅证成功!","办理借阅证");
	CPersonInfoDlg m_dlg;
	m_dlg.m_strProofID=m_strProofID;
	m_dlg.DoModal();	
}

void CNewProofDlg::OnButtonCheckProof() 
{
	// TODO: Add your control notification handler code here
	CCheckProofDlg m_dlg;
	m_dlg.m_strProofID=m_strProofID;
	m_dlg.DoModal();	
}

void CNewProofDlg::OnButtonBack() 
{
	// TODO: Add your control notification handler code here
	if(m_database.IsOpen())
		m_database.Close();
	OnOK();	
}
void CNewProofDlg::OnClose() 
{
	OnButtonBack();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -