📄 dlgstuquery.cpp
字号:
// Dlgstuquery.cpp : implementation file
//
#include "stdafx.h"
#include "教学管理信息系统.h"
#include "Dlgstuquery.h"
#include "stuinforecordset1.h"
#include "Public.h"
//#include "PassDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgstuquery dialog
CDlgstuquery::CDlgstuquery(CWnd* pParent /*=NULL*/)
: CDialog(CDlgstuquery::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgstuquery)
m_stuinfoquery = _T("");
m_querystuinfo = _T("");
//}}AFX_DATA_INIT
}
void CDlgstuquery::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgstuquery)
DDX_Control(pDX, IDC_COMBOquerystu, m_querystu);
DDX_Control(pDX, IDC_LISTstuinfoquery, m_lststuquery);
DDX_Text(pDX, IDC_EDITstuinfoquery, m_stuinfoquery);
DDX_CBString(pDX, IDC_COMBOquerystu, m_querystuinfo);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgstuquery, CDialog)
//{{AFX_MSG_MAP(CDlgstuquery)
ON_BN_CLICKED(IDC_BUTTON5, OnButton5)
ON_BN_CLICKED(IDC_BUTTONstuquery, OnBUTTONstuquery)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgstuquery message handlers
void CDlgstuquery::OnButton5()
{
// TODO: Add your control notification handler code here
CDialog::OnOK();
}
BOOL CDlgstuquery::OnInitDialog()
{
CDialog::OnInitDialog();
//初始化列表框的item
int i;
DWORD dwNewStyle= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP |
LVS_EX_ONECLICKACTIVATE | LVS_EX_UNDERLINEHOT;
m_lststuquery.SetExtendedStyle(dwNewStyle);//(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_lststuquery.InsertColumn(0,"学号",LVCFMT_CENTER);
m_lststuquery.InsertColumn(1,"姓名",LVCFMT_CENTER);
m_lststuquery.InsertColumn(2,"性别",LVCFMT_CENTER);
m_lststuquery.InsertColumn(3,"出生日期",LVCFMT_CENTER);
m_lststuquery.InsertColumn(4,"系别",LVCFMT_CENTER);
m_lststuquery.InsertColumn(5,"入学年份",LVCFMT_CENTER);
m_lststuquery.InsertColumn(6,"班级号",LVCFMT_CENTER);
m_lststuquery.InsertColumn(7,"宿舍号",LVCFMT_CENTER);
m_lststuquery.InsertColumn(8,"籍贯",LVCFMT_CENTER,160);
for(i=0;i<8;i++)
m_lststuquery.SetColumnWidth(i,80);
initctrldata();
// TODO: Add extra initialization here
//初始化组合框
((CComboBox*)GetDlgItem(IDC_COMBOquerystu))->AddString("学号");
((CComboBox*)GetDlgItem(IDC_COMBOquerystu))->AddString("姓名");
((CComboBox*)GetDlgItem(IDC_COMBOquerystu))->AddString("系别");
((CComboBox*)GetDlgItem(IDC_COMBOquerystu))->AddString("班级号");
((CComboBox*)GetDlgItem(IDC_COMBOquerystu))->AddString("宿舍号");
((CComboBox*)GetDlgItem(IDC_COMBOquerystu))->AddString("入学日期");
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDlgstuquery::insertstuinfo(CString stuid,CString stuname,CString
stusex,CString stubirth,CString xibie,CString
inyear,CString classnum,CString roomnum,CString
address)
{
int index=m_lststuquery.GetItemCount();
LV_ITEM lvitem;
lvitem.mask=LVIF_TEXT;
lvitem.iItem=index;
lvitem.iSubItem=0;
CString temp;
temp.Format("%s");
lvitem.pszText=(char*)(LPCTSTR)temp;
m_lststuquery.InsertItem(&lvitem);
//int index;
//for(index=0;index<nindex;index++)
//{
m_lststuquery.SetItemText(index,8,stuid);
m_lststuquery.SetItemText(index,6,stuname);
m_lststuquery.SetItemText(index,5,stusex);
m_lststuquery.SetItemText(index,7,stubirth);
m_lststuquery.SetItemText(index,3,xibie);
m_lststuquery.SetItemText(index,0,inyear);
m_lststuquery.SetItemText(index,1,classnum);
m_lststuquery.SetItemText(index,2,roomnum);
m_lststuquery.SetItemText(index,4,address);//子索引号
//}
}
void CDlgstuquery::initctrldata()
{
CDatabase m_database;
if(!m_database.Open(NULL,FALSE,FALSE,"ODBC;DSN=教务课程信息管理数据库"))
{
AfxMessageBox("连接数据库失败");
}
try{
m_stuinforecordset.Open(CRecordset::dynaset,NULL,CRecordset::none);
while(!m_stuinforecordset.IsEOF())
{
CString address,classnum,inyear,roomnum,stubirth,stuid,stuname;
CString stusex,xibie;
m_stuinforecordset.GetFieldValue((short)0,stuid);
m_stuinforecordset.GetFieldValue(1,stuname);
m_stuinforecordset.GetFieldValue(2,stusex);
m_stuinforecordset.GetFieldValue(3,stubirth);
m_stuinforecordset.GetFieldValue(4,xibie);
m_stuinforecordset.GetFieldValue(5,inyear);
m_stuinforecordset.GetFieldValue(6,classnum);
m_stuinforecordset.GetFieldValue(7,roomnum);
m_stuinforecordset.GetFieldValue(8,address);
insertstuinfo(stuid,stuname,stusex,stubirth,xibie,inyear,classnum,roomnum,address);
m_stuinforecordset.MoveNext();
}
m_stuinforecordset.Close();
}
catch(CDBException*e)
{
e->ReportError();
return;
}
}
void CDlgstuquery::OnBUTTONstuquery()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
CDlgstuquery dlg;
CDatabase m_database;
if(!m_database.Open(NULL,FALSE,FALSE,"ODBC;DSN=教务课程信息管理数据库"))
{
AfxMessageBox("连接数据库失败");
}
if(m_querystuinfo=="学号")
{
m_stuinforecordset.m_strFilter.Format("stuid='%s'",m_stuinfoquery);
m_stuinforecordset.Open(CRecordset::dynaset,NULL,CRecordset::none);
if(m_stuinforecordset.IsEOF())
{
AfxMessageBox("没有符合条件的记录");
m_stuinforecordset.Close();
}
else
{
m_lststuquery.DeleteAllItems();
m_stuinforecordset.Close();
initctrldata();
}
}
if(m_querystuinfo=="姓名")
{
m_stuinforecordset.m_strFilter.Format("stuname='%s'",m_stuinfoquery);
m_stuinforecordset.Open(CRecordset::dynaset,NULL,CRecordset::none);
if(m_stuinforecordset.IsEOF())
{
AfxMessageBox("没有符合条件的记录");
m_stuinforecordset.Close();
}
else
{
m_lststuquery.DeleteAllItems();
m_stuinforecordset.Close();
initctrldata();
}
}
if(m_querystuinfo=="系别")
{
m_stuinforecordset.m_strFilter.Format("xibie='%s'",m_stuinfoquery);
m_stuinforecordset.Open(CRecordset::dynaset,NULL,CRecordset::none);
if(m_stuinforecordset.IsEOF())
{
AfxMessageBox("没有符合条件的记录");
m_stuinforecordset.Close();
}
else
{
m_lststuquery.DeleteAllItems();
m_stuinforecordset.Close();
initctrldata();
}
}
if(m_querystuinfo=="班级号")
{
m_stuinforecordset.m_strFilter.Format("classnum='%s'",m_stuinfoquery);
m_stuinforecordset.Open(CRecordset::dynaset,NULL,CRecordset::none);
if(m_stuinforecordset.IsEOF())
{
AfxMessageBox("没有符合条件的记录");
m_stuinforecordset.Close();
}
else
{
m_lststuquery.DeleteAllItems();
m_stuinforecordset.Close();
initctrldata();
}
}
if(m_querystuinfo=="宿舍号")
{
m_stuinforecordset.m_strFilter.Format("roomnum='%s'",m_stuinfoquery);
m_stuinforecordset.Open(CRecordset::dynaset,NULL,CRecordset::none);
if(m_stuinforecordset.IsEOF())
{
AfxMessageBox("没有符合条件的记录");
m_stuinforecordset.Close();
}
else
{
m_lststuquery.DeleteAllItems();
m_stuinforecordset.Close();
initctrldata();
}
}
if(m_querystuinfo=="入学日期")
{
m_stuinforecordset.m_strFilter.Format("inyear='%s'",m_stuinfoquery);
m_stuinforecordset.Open(CRecordset::dynaset,NULL,CRecordset::none);
if(m_stuinforecordset.IsEOF())
{
AfxMessageBox("没有符合条件的记录");
m_stuinforecordset.Close();
}
else
{
m_lststuquery.DeleteAllItems();
m_stuinforecordset.Close();
initctrldata();
}
}
/*if(m_querystuinfo=="姓名")
m_stuinforecordset.m_strFilter.Format("stuname='%s'",m_stuinfoquery);
if(m_querystuinfo=="系别")
m_stuinforecordset.m_strFilter.Format("xibie='%s'",m_stuinfoquery);
if(m_querystuinfo=="入学日期")
m_stuinforecordset.m_strFilter.Format("inyear='%s'",m_stuinfoquery);
if(m_querystuinfo=="班级号")
m_stuinforecordset.m_strFilter.Format("classnum='%s'",m_stuinfoquery);
if(m_querystuinfo=="宿舍号")
m_stuinforecordset.m_strFilter.Format("roomnum='%s'",m_stuinfoquery);
m_stuinforecordset.Requery();
//m_stuinforecordset.Close();
if(m_stuinforecordset.IsEOF())
{
AfxMessageBox("没有符合条件的记录");
m_stuinforecordset.Close();
//initctrldata();
return ;
}
//else
//m_stuinforecordset.Close();
//m_lststuquery.DeleteAllItems();
//initctrldata();*/
}
//解决缺省键盘消息
BOOL CDlgstuquery::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message==WM_KEYDOWN)
return 0;
return CDialog::PreTranslateMessage(pMsg);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -