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

📄 classdlg.cpp

📁 课程设计的简单Access学生数据库系统
💻 CPP
字号:
// ClassDlg.cpp : implementation file
//

#include "stdafx.h"
#include "SM.h"
#include "teacher.h"
#include "class.h"
#include "ClassDlg.h"

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

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


//##ModelId=40A481F603C9
CClassDlg::CClassDlg(Class * data, CWnd* pParent /*=NULL*/)
	: CDialog(CClassDlg::IDD, pParent), TD(&theDatabase)
{
	//{{AFX_DATA_INIT(CClassDlg)
	m_Title = _T("");
	//}}AFX_DATA_INIT
	if(data)
	{
		Mode = 1;
		pData = data;
		m_Title = pData->Title;
		m_TeacherID = pData->TeacherID;
	}
	else
	{
		Mode = 0;
		pData = new Class();
	}
	UnitID = ((CSMDlg*)AfxGetMainWnd())->pUnitClassTree->GetSelectUnit().ID;
}


//##ModelId=40A481F70040
void CClassDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CClassDlg)
	DDX_Control(pDX, IDC_COMBO1, m_Combo);
	DDX_Control(pDX, IDC_TREE1, m_Tree);
	DDX_Text(pDX, IDC_EDIT1, m_Title);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CClassDlg, CDialog)
	//{{AFX_MSG_MAP(CClassDlg)
	ON_WM_CANCELMODE()
	ON_WM_DESTROY()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

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

//##ModelId=40A481F70050
BOOL CClassDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	UpdateData(false);
	pUnitTree = new UnitTree(&m_Tree);
	pUnitTree->Load();
	if(!Mode)
		pUnitTree->SetSelectUnit(UnitID);
	else
		pUnitTree->SetSelectUnit(pData->SuperiorID);
	TD.Open("teacher");
	RS.Open(&TD);
	for(RS.MoveFirst();!RS.IsEOF();RS.MoveNext())
		Teachers.push_back(Teacher(RS.GetFieldValue("ID").lVal,
								   V_BSTRT(&RS.GetFieldValue("Name")),
								   RS.GetFieldValue("sex").boolVal==-1,
								   V_BSTRT(&RS.GetFieldValue("Tele")),
								   V_BSTRT(&RS.GetFieldValue("EMail"))
								   )
							);
	
	int j = 0;
	for(int i=0;i<Teachers.size();i++)
	{
		m_Combo.AddString(Teachers[i].Name);
		if(Teachers[i].ID == m_TeacherID)
			j = i;
	}
	m_Combo.SetCurSel(j);
	// TODO: Add extra initialization here
	RS.Close();
	TD.Close();
	TD.Open("class");
	RS.Open(&TD);
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

//##ModelId=40A481F7005E
void CClassDlg::OnCancelMode() 
{
	CDialog::OnCancelMode();
	
	// TODO: Add your message handler code here
	
}

//##ModelId=40A481F70060
void CClassDlg::OnDestroy() 
{
	CDialog::OnDestroy();
	RS.Close();
	TD.Close();
	if(!Mode)
		delete pData;
	
	// TODO: Add your message handler code here
}

//##ModelId=40A481F7006E
void CClassDlg::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData();
	if(m_Title=="")
	{
		AfxMessageBox(" 班级名称不能为空字符串!!");
		return ;
	}
	pData->Title = m_Title;
	m_TeacherID = m_Combo.GetCurSel();

	if(m_TeacherID<Teachers.size())
		pData->TeacherID = Teachers[m_TeacherID].ID;
	else
		pData->TeacherID = 0;
	pData->SuperiorID = pUnitTree->GetSelcetUnit().ID;
	if(Mode)
		pData->Update(&RS);
	else
		pData->AddNew(&RS);
	CDialog::EndDialog(pData->ID);
}

//##ModelId=40A481F70070
void CClassDlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	CDialog::EndDialog(0);
}

//##ModelId=40A481F7003E
BOOL CClassDlg::DestroyWindow() 
{
	// TODO: Add your specialized code here and/or call the base class
	delete pUnitTree;	
	return CDialog::DestroyWindow();
}

⌨️ 快捷键说明

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