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

📄 teachercountcdlg.cpp

📁 教学管理系统
💻 CPP
字号:
// TeacherCountCDlg.cpp : implementation file
//

#include "stdafx.h"
#include "COdbc.h"
#include "TeacherCountCDlg.h"
#include "RecordTeacher.h"

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

/////////////////////////////////////////////////////////////////////////////
// CTeacherCountCDlg dialog


CTeacherCountCDlg::CTeacherCountCDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CTeacherCountCDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CTeacherCountCDlg)
	m_tccfrom = _T("");
	m_tccto = _T("");
	m_result = _T("");
	m_check = FALSE;
	//}}AFX_DATA_INIT
}


void CTeacherCountCDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTeacherCountCDlg)
	DDX_Control(pDX, IDC_EDIT2, m_tcctoctr);
	DDX_Text(pDX, IDC_EDIT1, m_tccfrom);
	DDX_Text(pDX, IDC_EDIT2, m_tccto);
	DDX_Text(pDX, IDC_EDIT3, m_result);
	DDX_Check(pDX, IDC_CHECK, m_check);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CTeacherCountCDlg, CDialog)
	//{{AFX_MSG_MAP(CTeacherCountCDlg)
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
	ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
	ON_BN_CLICKED(IDC_CHECK, OnCheck)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTeacherCountCDlg message handlers

void CTeacherCountCDlg::OnButton1() 
{
	// TODO: Add your control notification handler code here
	CDatabase db;
	BOOL bRtn;
	CString sql,tmp;
	try {
	bRtn = db.OpenEx("DSN=教学管理系统;UID=sa", CDatabase::noOdbcDialog);
	}catch (CDBException *pDBEx) {
	pDBEx->ReportError();
	}catch (CMemoryException *pMemEx) {
	pMemEx->ReportError();
	}
	if (!bRtn)
	printf("连接数据库失败!");

	UpdateData(true);
	if(m_check==false)
	{	
		
		sql = "Select Count(*) from teacher where teacher_name in";
		sql += " (Select lesson_teacher.teacher_name from lesson_teacher,\
			student_lesson,student where lesson_teacher.lesson_id=student_lesson.lesson_id \
			and student_lesson.student_id=student.student_id and \
			student.class='";
		sql +=m_tccfrom;
		sql +="')";
	}
	else
	{
		sql = "Select Count(*) from teacher where teacher_name in";
		sql += " (Select lesson_teacher.teacher_name from lesson_teacher,\
			student_lesson,student where lesson_teacher.lesson_id=student_lesson.lesson_id \
			and student_lesson.student_id=student.student_id and \
			student.class>='";
		sql +=m_tccfrom;
		sql +="' and student.class<='";
		sql +=m_tccto;
		sql +="')";	}

	CRecordTeacher rs(&db);
	try {
	bRtn = rs.Open(CRecordset::snapshot,sql);
	} catch(CDBException *pDBEx) {
	pDBEx->ReportError();
	} catch(CMemoryException *pMemEx) {
	pMemEx->ReportError();
	}
	if(!bRtn) {
	AfxMessageBox("Query table failed!",MB_OK|MB_ICONERROR);
	return ;
	}
	/* 4、逐条获取查询结果*/
	for(rs.MoveFirst();!rs.IsEOF();rs.MoveNext()) {
	// TODO: Add code here
	}
	/* 5、关闭记录集、数据库*/
	m_result=rs.m_teacher_name;
	UpdateData(false);
	rs.Close();
	db.Close();
}

void CTeacherCountCDlg::OnButton2() 
{
	// TODO: Add your control notification handler code here
	CDialog::OnCancel();
}

BOOL CTeacherCountCDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_tcctoctr.EnableWindow(m_check);

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

void CTeacherCountCDlg::OnCheck() 
{
	// TODO: Add your control notification handler code here
	m_check=!m_check;
	m_tcctoctr.EnableWindow(m_check);
}

⌨️ 快捷键说明

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