📄 teacherquerydlg.cpp
字号:
// TeacherQueryDlg.cpp : implementation file
//
#include "stdafx.h"
#include "COdbc.h"
#include "TeacherQueryDlg.h"
#include <afxdb.h>
#include "RecordTeacher.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTeacherQueryDlg dialog
CTeacherQueryDlg::CTeacherQueryDlg(CWnd* pParent /*=NULL*/)
: CDialog(CTeacherQueryDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CTeacherQueryDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CTeacherQueryDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTeacherQueryDlg)
DDX_Control(pDX, IDC_TEACHER_INFO, m_teacherlist);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CTeacherQueryDlg, CDialog)
//{{AFX_MSG_MAP(CTeacherQueryDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTeacherQueryDlg message handlers
BOOL CTeacherQueryDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
LPTSTR lpszCols[]={"姓名","系别","职称",NULL}; // 列标题
int nWidth[] = {89,83,80,0}; // 列宽度
LV_COLUMN lvcol;
lvcol.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
lvcol.fmt = LVCFMT_LEFT;
for(int i=0;lpszCols[i]!=NULL;i++)
{
lvcol.cx = nWidth[i];
lvcol.pszText = lpszCols[i];
m_teacherlist.InsertColumn(i,&lvcol);
}
CDatabase db;
BOOL bRtn;
CString sql;
UpdateData(true);
if(m_title=="name")
{
sql = "Select * From teacher where teacher_name ='";
sql +=m_str;
sql +="'";
}
if(m_title=="level")
{
sql = "Select * From teacher where teacher_level ='";
sql +=m_str;
sql +="'";
}
if(m_title=="department")
{
sql = "Select * From teacher where department ='";
sql +=m_str;
sql +="'";
}
if(m_title=="Course")
{
sql = "Select * from teacher where teacher_name in";
sql += " (Select lesson_teacher.teacher_name from lesson_teacher,lesson \
where lesson_teacher.lesson_id=lesson.lesson_id and lesson.lesson_name='";
sql +=m_str;
sql +="')";
}
if(m_title=="Class")
{
sql = "Select * 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_str;
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 true;
}
/* 4、逐条获取查询结果*/
for(rs.MoveFirst();!rs.IsEOF();rs.MoveNext()) {
// TODO: Add code here
}
/* 5、关闭记录集、数据库*/
/* 清除列表中原有的项*/
CString tmp;
m_teacherlist.DeleteAllItems();
/* 在列表中显示纪录*/
LVITEM item;
int nRow=0;
item.mask = LVIF_TEXT;
item.state = LVIS_SELECTED;
item.stateMask = LVIS_SELECTED;
item.lParam = 1;
item.iIndent = 0;
for(rs.MoveFirst();!rs.IsEOF();rs.MoveNext(),nRow++)
{
item.iItem = nRow;
int iSubItem = 0;
item.iSubItem = iSubItem++;
item.pszText = (char*)(LPCTSTR)(rs.m_teacher_name);
item.cchTextMax = strlen(item.pszText);
m_teacherlist.InsertItem(&item); // 第一列应用InsertItem()
item.iSubItem = iSubItem++;
item.pszText = (char*)(LPCTSTR)(rs.m_department);
item.cchTextMax = strlen(item.pszText);
m_teacherlist.SetItem(&item);
item.iSubItem = iSubItem++;
item.pszText = (char*)(LPCTSTR)(rs.m_teacher_level);
item.cchTextMax = strlen(item.pszText);
m_teacherlist.SetItem(&item);
}
rs.Close();
db.Close();
return TRUE; // return TRUE unless you set the focus to a control
}
void CTeacherQueryDlg::OnitialCustom(CString title,CString str)
{
m_title=title;
m_str=str;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -