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

📄 classdlg.cpp

📁 一个由MFC做的学生信息管理系统
💻 CPP
字号:
// ClassDlg.cpp : implementation file
//

#include "stdafx.h"
#include "SSF.h"
#include "ClassDlg.h"
#include"ClassSet1.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CClassDlg dialog


CClassDlg::CClassDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CClassDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CClassDlg)
	m_strBrief = _T("");
	m_strMajor = _T("");
	m_strDepartment = _T("");
	m_strClassCode = _T("");
	m_strClassName = _T("");
	m_strTeacher = _T("");
	//}}AFX_DATA_INIT
}


void CClassDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CClassDlg)
	DDX_Control(pDX, IDC_BUTTON4delete, m_bntDelete);
	DDX_Control(pDX, IDC_BUTTON3modify, m_bntModify);
	DDX_Control(pDX, IDC_BUTTON2save, m_bntSave);
	DDX_Control(pDX, IDC_BUTTON1new, m_bntNew);
	DDX_Control(pDX, 1010, m_ctrList);
	DDX_Text(pDX, IDC_EDITBRIEF, m_strBrief);
	DDX_CBString(pDX, IDC_COMBO2, m_strMajor);
	DDX_CBString(pDX, IDC_COMBO3, m_strDepartment);
	DDX_Text(pDX, IDC_EDITCODE, m_strClassCode);
	DDX_Text(pDX, IDC_EDITNAME, m_strClassName);
	DDX_Text(pDX, IDC_EDITTEACHER, m_strTeacher);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CClassDlg, CDialog)
	//{{AFX_MSG_MAP(CClassDlg)
	ON_NOTIFY(NM_CLICK, 1010, OnClick1010)
	ON_BN_CLICKED(IDC_BUTTON1new, OnBUTTON1new)
	ON_BN_CLICKED(IDC_BUTTON2save, OnBUTTON2save)
	ON_BN_CLICKED(IDC_BUTTON3modify, OnBUTTON3modify)
	ON_BN_CLICKED(IDC_BUTTON4delete, OnBUTTON4delete)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CClassDlg message handlers

void CClassDlg::OnClick1010(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	
	CClassSet m_recordset;
	// TODO: Add your control notification handler code here
	CString strSQL;
	UpdateData(TRUE);
	int i=m_ctrList.GetSelectionMark();
    strSQL.Format("select * from class where code='%s'",m_ctrList.GetItemText(i,0));
   if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);
		return;
	}
	m_strClassCode=m_recordset.m_code;
	m_strClassName=m_recordset.m_name;
    m_strMajor=m_recordset.m_major;
	m_strDepartment=m_recordset.m_department;
	m_strBrief=m_recordset.m_brief;
	m_strTeacher=m_recordset.m_teacher;
	m_recordset.Close();
	UpdateData(FALSE);
	m_bntSave.EnableWindow(FALSE);
	m_bntNew.EnableWindow();
	m_bntDelete.EnableWindow();
	m_bntModify.EnableWindow();
	*pResult = 0;
}

void CClassDlg::OnBUTTON1new() 
{
	// TODO: Add your control notification handler code here
	m_strClassName="";
	m_strClassCode="";
	m_strDepartment="";
	m_strTeacher="";
	m_strBrief="";
	m_strMajor="";
	m_bntSave.EnableWindow();
	m_bntNew.EnableWindow(FALSE);
	m_bntDelete.EnableWindow(FALSE);
	m_bntModify.EnableWindow(FALSE);
	UpdateData(FALSE);
}

void CClassDlg::OnBUTTON2save() 
{
	// TODO: Add your control notification handler code here
	CClassSet m_recordset;
	// TODO: Add your control notification handler code here
	UpdateData();
	if(m_strClassName=="")
	{
		AfxMessageBox("请输入班级名称");
	}
   if(m_strClassCode=="")
	{
		AfxMessageBox("请输入班级代码");
	}
   if(m_strMajor=="")
	{
		AfxMessageBox("请输入专业名称");
	}

   if(m_strDepartment=="")
	{
		AfxMessageBox("请输入所属系别");
	}
    if(m_strBrief=="")
	{
		AfxMessageBox("请输入所需说明");
	}
   CString  strSQL;
   strSQL.Format("select * from class where code='%s'",m_strClassCode);
   if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);
		return;
	}
	if(m_recordset.GetRecordCount()!=0)
	{
		m_recordset.Close();
		AfxMessageBox("当前编码已经存在!请重新输入!");
		m_strClassCode="";
		UpdateData(FALSE);
		return;
	}

	m_recordset.AddNew();
	m_recordset.m_code=m_strClassCode;
	m_recordset.m_name=m_strClassName;
	m_recordset.m_major=m_strMajor;
	m_recordset.m_teacher=m_strTeacher;
	m_recordset.m_department=m_strDepartment;
    m_recordset.m_brief=m_strBrief;

	m_recordset.Update();
	m_recordset.Close();
	m_ctrList.InsertItem(0,m_strClassCode);
	m_ctrList.SetItemText(0,1,m_strClassName);
	m_ctrList.SetItemText(0,2,m_strMajor);
    m_ctrList.SetItemText(0,3,m_strDepartment);
	m_ctrList.SetItemText(0,4,m_strTeacher);
    m_ctrList.SetItemText(0,5,m_strBrief);
 

	 //更新界面显示
    m_strClassCode= _T("");
    m_strClassName= _T("");
    m_strMajor= _T("");           
    m_strDepartment= _T(""); 
	m_strTeacher= _T("");        
    m_strBrief= _T("");  
	UpdateData(FALSE);
	
}


void CClassDlg::OnBUTTON3modify() 
{
	// TODO: Add your control notification handler code here
	CClassSet m_recordset;
	// TODO: Add your control notification handler code here
	UpdateData();
	int i=m_ctrList.GetSelectionMark();
	if(0>i)
	{
		MessageBox("请选择一条记录进行修改");
		return;
	}
	if(m_strClassName=="")
	{
		AfxMessageBox("请输入专业名称");
	}
   if(m_strClassCode=="")
	{
		AfxMessageBox("请输入专业代码");
	}
     CString  strSQL;
   strSQL.Format("select * from class where code='%s'",m_ctrList.GetItemText(i,0));
   if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);
		return;
	}
	m_recordset.Edit();
	m_recordset.m_code=m_strClassCode;
	m_recordset.m_name=m_strClassName;
	m_recordset.m_major=m_strMajor;		
	m_recordset.m_department=m_strDepartment;
	m_recordset.m_teacher=m_strTeacher;
    m_recordset.m_brief=m_strBrief;

	m_recordset.Update();
	m_recordset.Close();
	m_ctrList.DeleteItem(i);
	m_ctrList.InsertItem(i,m_strClassCode);
    m_ctrList.SetItemText(i,1,m_strClassName);
    m_ctrList.SetItemText(i,2,m_strMajor);
	m_ctrList.SetItemText(i,3,m_strDepartment);
    m_ctrList.SetItemText(i,4,m_strTeacher);
    m_ctrList.SetItemText(i,5,m_strBrief);

}

void CClassDlg::OnBUTTON4delete() 
{
	// TODO: Add your control notification handler code here
	CClassSet m_recordset;
	// TODO: Add your control notification handler code here
	int i=m_ctrList.GetSelectionMark();
	if(0>i)
	{
		MessageBox("请选择一条记录进行修改");
		return;
	}
	if(m_strClassName=="")
	{
		AfxMessageBox("请输入班级名称");
	}
   if(m_strClassCode=="")
	{
		AfxMessageBox("请输入班级代码");
	}
     CString  strSQL;
   strSQL.Format("select * from class where code='%s'",m_ctrList.GetItemText(i,0));
   if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);
		return;
	}
   m_recordset.Delete();
   m_recordset.Close();
   m_ctrList.DeleteItem(i);
   	m_strClassName="";
	m_strClassCode="";
	m_strDepartment="";
	m_strBrief="";
	UpdateData(FALSE);
}

BOOL CClassDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_ctrList.InsertColumn(0,"班级代码");
	m_ctrList.InsertColumn(1,"班级名称");
	m_ctrList.InsertColumn(2,"专业名称");
    m_ctrList.InsertColumn(3,"所属系别");
    m_ctrList.InsertColumn(4,"老师");
    m_ctrList.InsertColumn(5,"说明");

	m_ctrList.SetColumnWidth(0,100);
    m_ctrList.SetColumnWidth(1,100);
    m_ctrList.SetColumnWidth(2,100);
    m_ctrList.SetColumnWidth(3,100);
	m_ctrList.SetColumnWidth(4,100);
    m_ctrList.SetColumnWidth(5,100);

	m_ctrList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
    m_bntSave.EnableWindow(FALSE);
    
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

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