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

📄 dlgstuquery.cpp

📁 大学班务管理系统
💻 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 + -