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

📄 teacherview_dlg.cpp

📁 数据库编程
💻 CPP
字号:
// TeacherView_dlg.cpp : implementation file
//

#include "stdafx.h"
#include "Course.h"
#include "TeacherView_dlg.h"
#include "Manager.h"
#include "ViewStu_dlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CTeacherView_dlg dialog


CTeacherView_dlg::CTeacherView_dlg(CWnd* pParent /*=NULL*/)
	: CDialog(CTeacherView_dlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CTeacherView_dlg)
	m_id = _T("");
	//}}AFX_DATA_INIT
}


void CTeacherView_dlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTeacherView_dlg)
	DDX_Control(pDX, IDC_COURSE_LIST, m_course_list);
	DDX_Text(pDX, IDC_ID_EDIT, m_id);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CTeacherView_dlg, CDialog)
	//{{AFX_MSG_MAP(CTeacherView_dlg)
	ON_BN_CLICKED(IDC_VIEW_BUTTON, OnViewButton)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTeacherView_dlg message handlers
BOOL CTeacherView_dlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	m_course_list.DeleteAllItems();
	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	m_course_list.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
	//为了美观起见,显示纪录时需要表格线
	LV_COLUMN h;
	_RecordsetPtr m_recordset;
	CManager manager;
	h.mask=LVCF_FMT|LVCF_TEXT|LVCF_WIDTH;
	h.fmt=LVCFMT_CENTER;
	h.cx=80;

	m_recordset=manager.CourseView(teacher);
	h.pszText="课程号";
	m_course_list.InsertColumn(0,&h);
	h.pszText="课程名";
	m_course_list.InsertColumn(1,&h);
	h.pszText="任课老师";
	m_course_list.InsertColumn(2,&h);
	h.pszText="已选人数";
	m_course_list.InsertColumn(3,&h);
	h.pszText="限选人数";
	m_course_list.InsertColumn(4,&h);
	m_course_list.DeleteAllItems();
	CString s;
	_variant_t vnum,vname,vteacher,vrenum,vupnum;
	while(!m_recordset->adoEOF)
	{
		vnum=m_recordset->GetCollect("课程号");
		s=(LPCTSTR)_bstr_t(vnum);
		m_course_list.InsertItem(0,s);

		vname=m_recordset->GetCollect("课程名");
		s=(LPCTSTR)_bstr_t(vname);
		m_course_list.SetItemText(0,1,s);
				
		vteacher=m_recordset->GetCollect("任课老师");
		s=(LPCTSTR)_bstr_t(vteacher);
		m_course_list.SetItemText(0,2,s);

		vrenum=m_recordset->GetCollect("已选人数");
		s=(LPCTSTR)_bstr_t(vrenum);
		m_course_list.SetItemText(0,3,s);

		vupnum=m_recordset->GetCollect("限选人数");
		s=(LPCTSTR)_bstr_t(vupnum);
		m_course_list.SetItemText(0,4,s);

		m_recordset->MoveNext();
	}
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CTeacherView_dlg::OnViewButton() 
{
	// TODO: Add your control notification handler code here
	CViewStu_dlg dlg;
	CManager manager;
	UpdateData(true);
	dlg.course.SetTeacher(teacher.GetName());
	dlg.course.SetId(m_id);
	if(manager.ReSearch(dlg.course))
	{
		if(dlg.DoModal()==IDOK)
		{}
	}
	else
		AfxMessageBox("未开设此课程,无权查看相关信息!");
	UpdateData(false);
}

⌨️ 快捷键说明

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