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

📄 editstudlg.cpp

📁 ACCESS数据库+MFC编写的学生数据库管理系统
💻 CPP
字号:
// EditstuDlg.cpp : implementation file
//

#include "stdafx.h"
#include "学籍管理系统.h"
#include "EditstuDlg.h"
#include "MainView.h"
#include "StuinfoSet1.h"


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

/////////////////////////////////////////////////////////////////////////////
// CEditstuDlg dialog


CEditstuDlg::CEditstuDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CEditstuDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CEditstuDlg)
	m_name = _T("");
	m_stunum = _T("");
	m_birthday = 0;
	m_enrolment = 0;
	m_nav = _T("");
	m_con = _T("");
	m_team = _T("");
	m_spe = _T("");
	m_sex = _T("");
	m_collage = _T("");
	m_race = _T("");
	//}}AFX_DATA_INIT
}


void CEditstuDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CEditstuDlg)
	DDX_Control(pDX, IDC_COMBO_EDITCOLLAGE, m_comboxcollage);
	DDX_Control(pDX, IDC_COMBO_EDITSPC, m_comboxspe);
	DDX_Control(pDX, IDC_COMBO_EDITTEAM, m_comboxteam);
	DDX_Text(pDX, IDC_EDIT_EDITNAME, m_name);
	DDX_Text(pDX, IDC_EDIT_EDITNUM, m_stunum);
	DDX_DateTimeCtrl(pDX, IDC_EDITBIRTHDAY, m_birthday);
	DDX_DateTimeCtrl(pDX, IDC_EDITENROLMENT, m_enrolment);
	DDX_Text(pDX, IDC_EDIT_EDITNAV, m_nav);
	DDX_Text(pDX, IDC_EDIT_EDITCON, m_con);
	DDX_CBString(pDX, IDC_COMBO_EDITTEAM, m_team);
	DDX_CBString(pDX, IDC_COMBO_EDITSPC, m_spe);
	DDX_CBString(pDX, IDC_COMBO_EDITSEX, m_sex);
	DDX_CBString(pDX, IDC_COMBO_EDITCOLLAGE, m_collage);
	DDX_CBString(pDX, IDC_COMBO_RACE, m_race);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CEditstuDlg, CDialog)
	//{{AFX_MSG_MAP(CEditstuDlg)
	ON_CBN_KILLFOCUS(IDC_COMBO_EDITCOLLAGE, OnKillfocusComboEditcollage)
	ON_BN_CLICKED(IDC_BUTTON_EDIT, OnButtonEdit)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CEditstuDlg message handlers

BOOL CEditstuDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here

	CDatabase db;
	CStuinfoSet rsstu;
	CRecordset rs(&db);
	CString sqlstr,resul;
	sqlstr="select * from colinfo";
	db.Open(rsstu.GetDefaultConnect());
	rs.Open(CRecordset::forwardOnly,sqlstr);
	while(!rs.IsEOF())
	{
		rs.GetFieldValue((int)0,resul);
		m_comboxcollage.AddString(resul);
		rs.MoveNext();
	}
	rs.Close();
	//时间赋初值

	// 学员队表
	UpdateData(TRUE);
	for(int i=m_comboxteam.GetCount()-1;i>=0;i--)
		m_comboxteam.DeleteString(i);

	sqlstr.Format("select teamname from teaminfo where belongcol = '%s'",m_collage);
	rs.Open(CRecordset::forwardOnly,sqlstr);
	while(!rs.IsEOF())
	{
		rs.GetFieldValue((int)0,resul);
		m_comboxteam.AddString(resul);
		rs.MoveNext();
	}
	rs.Close();


	//专业表
	for(i=m_comboxspe.GetCount()-1;i>=0;i--)
		m_comboxspe.DeleteString(i);
	sqlstr.Format("select spename from speinfo where belongcol = '%s'",m_collage);
	rs.Open(CRecordset::forwardOnly,sqlstr);
	while(!rs.IsEOF())
	{
		rs.GetFieldValue((int)0,resul);
		m_comboxspe.AddString(resul);
		rs.MoveNext();
	}
	rs.Close();	

	UpdateData(FALSE);	

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CEditstuDlg::OnKillfocusComboEditcollage() 
{
	// TODO: Add your control notification handler code here
	// 学员队表
	UpdateData(TRUE);
	for(int i=m_comboxteam.GetCount()-1;i>=0;i--)
		m_comboxteam.DeleteString(i);
	CDatabase db;
	CStuinfoSet rsstu;
	CRecordset rs(&db);
	CString sqlstr,resul;
	sqlstr.Format("select teamname from teaminfo where belongcol = '%s'",m_collage);
	db.Open(rsstu.GetDefaultConnect());
		rs.Close();
	rs.Open(CRecordset::forwardOnly,sqlstr);
	while(!rs.IsEOF())
	{
		rs.GetFieldValue((int)0,resul);
		m_comboxteam.AddString(resul);
		rs.MoveNext();
	}
	rs.Close();


	//专业表
	for(i=m_comboxspe.GetCount()-1;i>=0;i--)
		m_comboxspe.DeleteString(i);
	sqlstr.Format("select spename from speinfo where belongcol = '%s'",m_collage);
	rs.Open(CRecordset::forwardOnly,sqlstr);
	while(!rs.IsEOF())
	{
		rs.GetFieldValue((int)0,resul);
		m_comboxspe.AddString(resul);
		rs.MoveNext();
	}
	rs.Close();	
}

void CEditstuDlg::OnButtonEdit() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(m_stunum=="")
	{
		MessageBox("请输入学号!","添加错误",MB_OK|MB_ICONSTOP);
		return;
	}
	if(m_stunum.GetLength()!=12)
	{
		MessageBox("学号长度是12位,请检查输入!","添加错误",MB_OK|MB_ICONSTOP);
		return;
	}
	if(m_name=="")
	{
		MessageBox("请输入姓名!","添加错误",MB_OK|MB_ICONSTOP);
		return;
	}
	CDatabase db;
	CStuinfoSet rsstu;
	CRecordset rs(&db);
	CString sqlstr;
	db.Open(rsstu.GetDefaultConnect());


	CString addsql;
	CString m_birday=m_birthday.Format("%Y-%d-%d");
	CString m_enrol=m_enrolment.Format("%Y-%d-%d");
	addsql.Format("update stuinfo set name='%s',sex='%s',race='%s',birthday='%s',enrolment='%s',native='%s',collage='%s'"
		",spename='%s',stuteam='%s',connect='%s' where stunum='%s'",m_name,m_sex,m_race,m_birday,m_enrol,m_nav,m_collage,m_spe,m_team,m_con,m_stunum);
	CMainView::RunSQL(addsql);
	
	CDialog::OnOK();	
}

⌨️ 快捷键说明

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