www.pudn.com > student_system.rar > ByBysDlg.cpp


// ByBysDlg.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "student.h" 
#include "ByBysDlg.h" 
#include "studentview.h" 
#include "DaCxXXDlg.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CByBysDlg dialog 
 
 
CByBysDlg::CByBysDlg(CWnd* pParent /*=NULL*/) 
	: CDialog(CByBysDlg::IDD, pParent) 
{ 
	//{{AFX_DATA_INIT(CByBysDlg) 
	m_IsBj = FALSE; 
	m_IsJb = FALSE; 
	m_IsQt = FALSE; 
	m_IsXh = FALSE; 
	m_IsXm = FALSE; 
	m_IsZy = FALSE; 
	m_Bj = _T(""); 
	m_Jb = _T(""); 
	m_Qt = _T(""); 
	m_Xh = _T(""); 
	m_Xm = _T(""); 
	m_Zy = _T(""); 
	m_Qt_G = _T(""); 
		// NOTE: the ClassWizard will add member initialization here 
	//}}AFX_DATA_INIT 
	IsInit = false; 
	sql = ""; 
} 
 
 
void CByBysDlg::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(CByBysDlg) 
	DDX_Control(pDX, IDC_LIST_STU, m_StuList); 
	DDX_Control(pDX, IDC_COMBO_QT, m_Qt_G_Con); 
	DDX_Control(pDX, IDC_COMBO_ZY, m_Zy_Con); 
	DDX_Control(pDX, IDC_EDIT_BJ, m_Bj_Con); 
	DDX_Control(pDX, IDC_EDIT_JB, m_Jb_Con); 
	DDX_Control(pDX, IDC_EDIT_QT, m_Qt_Con); 
	DDX_Control(pDX, IDC_EDIT_XH, m_Xh_Con); 
	DDX_Control(pDX, IDC_EDIT_XM, m_Xm_Con); 
	DDX_Check(pDX, IDC_CHECK_BJ, m_IsBj); 
	DDX_Check(pDX, IDC_CHECK_JB, m_IsJb); 
	DDX_Check(pDX, IDC_CHECK_QT, m_IsQt); 
	DDX_Check(pDX, IDC_CHECK_XH, m_IsXh); 
	DDX_Check(pDX, IDC_CHECK_XM, m_IsXm); 
	DDX_Check(pDX, IDC_CHECK_ZY, m_IsZy); 
	DDX_Text(pDX, IDC_EDIT_BJ, m_Bj); 
	DDX_Text(pDX, IDC_EDIT_JB, m_Jb); 
	DDX_Text(pDX, IDC_EDIT_QT, m_Qt); 
	DDX_Text(pDX, IDC_EDIT_XH, m_Xh); 
	DDX_Text(pDX, IDC_EDIT_XM, m_Xm); 
	DDX_CBString(pDX, IDC_COMBO_ZY, m_Zy); 
	DDX_CBString(pDX, IDC_COMBO_QT, m_Qt_G); 
		// NOTE: the ClassWizard will add DDX and DDV calls here 
	//}}AFX_DATA_MAP 
	if(!IsInit) 
	{ 
	CRect rect1,rect2; 
	this->GetClientRect(&rect1); 
	this->m_parent->GetClientRect(&rect2); 
	int x= (rect2.Width()-STATIC_MYWIN_LEFT-rect1.Width())/2 +STATIC_MYWIN_LEFT; 
	int y= (rect2.Height()-STATIC_MYWIN_TOP-rect1.Height())/2 +STATIC_MYWIN_TOP; 
	if(xMoveWindow(x,y,rect1.Width(),rect1.Height()); 
	// 
	m_Bj_Con.EnableWindow(false); 
	m_Jb_Con.EnableWindow(false); 
	m_Qt_G_Con.EnableWindow(false); 
	m_Qt_Con.EnableWindow(false); 
	m_Xh_Con.EnableWindow(false); 
	m_Xm_Con.EnableWindow(false); 
	m_Zy_Con.EnableWindow(false); 
	 
	m_parent->m_recSet->Open("SELECT * FROM ZyTable"); 
	CString zname; 
	while(!m_parent->m_recSet->IsEOF()) 
	{ 
		m_parent->m_recSet->GetFieldValue("Z_Name",zname); 
		m_Zy_Con.AddString(zname); 
		m_parent->m_recSet->MoveNext(); 
	} 
	m_parent->m_recSet->Close(); 
	m_Zy_Con.SetCurSel(0); 
	m_Qt_G_Con.SetCurSel(0); 
	 
	// 
	LV_COLUMN lvc; 
	 
	lvc.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH /*| LVCF_FMT*/; 
	 
	lvc.iSubItem = 0; 
	lvc.pszText = (char *)"学号"; 
	lvc.cx = 100; 
	m_StuList.InsertColumn(0,&lvc); 
	 
	lvc.iSubItem = 1; 
	lvc.pszText = (char *)"姓名"; 
	lvc.cx = 100; 
	m_StuList.InsertColumn(1,&lvc); 
	 
	lvc.iSubItem = 2; 
	lvc.pszText = (char *)"性别"; 
	lvc.cx = 100; 
	m_StuList.InsertColumn(2,&lvc); 
	 
	lvc.iSubItem = 3; 
	lvc.pszText = (char *)"级别"; 
	lvc.cx = 100; 
	m_StuList.InsertColumn(3,&lvc); 
	 
	lvc.iSubItem = 4; 
	lvc.pszText = (char *)"班级"; 
	lvc.cx = 100; 
	m_StuList.InsertColumn(4,&lvc); 
	 
	lvc.iSubItem = 5; 
	lvc.pszText = (char *)"专业"; 
	lvc.cx = 100; 
	m_StuList.InsertColumn(5,&lvc); 
	// 
	IsInit = true; 
	} 
} 
 
 
BEGIN_MESSAGE_MAP(CByBysDlg, CDialog) 
	//{{AFX_MSG_MAP(CByBysDlg) 
	ON_BN_CLICKED(IDC_BU_CLOSE, OnBuClose) 
	ON_BN_CLICKED(IDC_CHECK_BJ, OnCheckBj) 
	ON_BN_CLICKED(IDC_CHECK_JB, OnCheckJb) 
	ON_BN_CLICKED(IDC_CHECK_QT, OnCheckQt) 
	ON_BN_CLICKED(IDC_CHECK_XH, OnCheckXh) 
	ON_BN_CLICKED(IDC_CHECK_XM, OnCheckXm) 
	ON_BN_CLICKED(IDC_CHECK_ZY, OnCheckZy) 
	ON_BN_CLICKED(IDC_BU_S, OnBuS) 
	ON_BN_CLICKED(IDC_BU_BY_XX, OnBuByXx) 
	ON_BN_CLICKED(IDC_BU_BY_PRINT, OnBuByPrint) 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CByBysDlg message handlers 
 
void CByBysDlg::OnBuClose()  
{ 
	// TODO: Add your control notification handler code here 
	this->m_parent->m_Dlg_ByBys =NULL; 
	LVFINDINFO info; 
	info.psz = "查看毕业生"; 
	info.flags = LVFI_STRING; 
	this->m_parent->m_listCtrlGN.DeleteItem(this->m_parent->m_listCtrlGN.FindItem(&info))	;	 
	this->DestroyWindow(); 
} 
 
void CByBysDlg::OnCheckBj()  
{ 
	// TODO: Add your control notification handler code here 
	this->UpdateData(true); 
	if(m_IsBj) 
	{ 
		m_Bj_Con.EnableWindow(true); 
	} 
	else 
	{ 
		m_Bj_Con.EnableWindow(false); 
	} 
	this->UpdateData(false); 
} 
 
void CByBysDlg::OnCheckJb()  
{ 
	// TODO: Add your control notification handler code here 
	this->UpdateData(true); 
	if(m_IsJb) 
	{ 
		m_Jb_Con.EnableWindow(true); 
	} 
	else 
	{ 
		m_Jb_Con.EnableWindow(false); 
	} 
	this->UpdateData(false); 
} 
 
void CByBysDlg::OnCheckQt()  
{ 
	// TODO: Add your control notification handler code here 
	this->UpdateData(true); 
	if(m_IsQt) 
	{ 
		m_Qt_Con.EnableWindow(true); 
		m_Qt_G_Con.EnableWindow(true); 
	} 
	else 
	{ 
		m_Qt_Con.EnableWindow(false); 
		m_Qt_G_Con.EnableWindow(false); 
	} 
	this->UpdateData(false); 
} 
 
void CByBysDlg::OnCheckXh()  
{ 
	// TODO: Add your control notification handler code here 
	this->UpdateData(true); 
	if(m_IsXh) 
	{ 
		m_Xh_Con.EnableWindow(true); 
	} 
	else 
	{ 
		m_Xh_Con.EnableWindow(false); 
	} 
	this->UpdateData(false); 
} 
 
void CByBysDlg::OnCheckXm()  
{ 
	// TODO: Add your control notification handler code here 
	this->UpdateData(true); 
	if(m_IsXm) 
	{ 
		m_Xm_Con.EnableWindow(true); 
	} 
	else 
	{ 
		m_Xm_Con.EnableWindow(false); 
	} 
	this->UpdateData(false); 
} 
 
void CByBysDlg::OnCheckZy()  
{ 
	// TODO: Add your control notification handler code here 
	this->UpdateData(true); 
	if(m_IsZy) 
	{ 
		m_Zy_Con.EnableWindow(true); 
	} 
	else 
	{ 
		m_Zy_Con.EnableWindow(false); 
	} 
	this->UpdateData(false); 
} 
 
void CByBysDlg::OnBuS()  
{ 
	// TODO: Add your control notification handler code here 
	this->UpdateData(true); 
	if(!(m_IsBj || m_IsJb || m_IsQt || m_IsXh || m_IsXm || m_IsZy)) 
	{ 
		MessageBox("请选择查询条件"); 
		return; 
	} 
	sql = "SELECT * FROM student,ZyTable,ByTable WHERE ByTable.S_ID=Student.S_ID AND student.Z_ID = ZyTable.Z_ID"; 
	if(m_IsBj) 
	{ 
		sql+=" AND S_Bj='"+m_Bj+"'"; 
	} 
	if(m_IsJb) 
	{ 
		sql+=" AND S_Jb='"+m_Jb+"'"; 
	} 
	if(m_IsQt) 
	{ 
		CString temp; 
		if(m_Qt_G.Compare("性别")==0) 
		{ 
			temp = "S_Xb"; 
		} 
		else if(m_Qt_G.Compare("学籍状态")==0) 
		{ 
			temp = "S_Zt"; 
		} 
		else if(m_Qt_G.Compare("民族")==0) 
		{ 
			temp = "S_Mz"; 
		} 
		else if(m_Qt_G.Compare("政治面貌")==0) 
		{ 
			temp = "S_Zzmm"; 
		} 
		else if(m_Qt_G.Compare("住宿情况")==0) 
		{ 
			temp = "S_Zsqk"; 
		} 
		else if(m_Qt_G.Compare("全部") == 0) 
		{ 
			temp = "'"+m_Qt+"'"; 
		} 
		else 
		{ 
			temp = m_Qt_G; 
		} 
		sql+=" AND "+temp+"='"+m_Qt+"'"; 
	} 
	if(m_IsXh) 
	{ 
		sql+=" AND S_ID='"+m_Xh+"'"; 
	} 
	if(m_IsXm) 
	{ 
		sql+=" AND S_Name='"+m_Xm+"'"; 
	} 
	if(m_IsZy) 
	{ 
		sql+=" AND Z_Name='"+m_Zy+"'"; 
	} 
	 
	m_parent->m_recSet->Open(sql.GetBuffer(200)); 
	if(!m_parent->m_recSet->IsEOF()) 
	{ 
		m_StuList.DeleteAllItems(); 
		CString temp; 
		COleDateTime dateTemp; 
		int i=0; 
		LV_ITEM lvitem; 
		lvitem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE; 
		lvitem.state = 0;       
		lvitem.stateMask = 0;  
		char temp1[50]; 
		 
		while(!m_parent->m_recSet->IsEOF()) 
		{ 
			 
			 
			lvitem.iItem = i; 
			lvitem.iSubItem = 0; 
			lvitem.pszText =itoa(i, temp1, 10);  
			m_StuList.InsertItem(&lvitem); 
			 
			m_parent->m_recSet->GetFieldValue("Student.S_ID",temp); 
			m_StuList.SetItemText(i,0,temp); 
			m_parent->m_recSet->GetFieldValue("S_Name",temp); 
			m_StuList.SetItemText(i,1,temp); 
			m_parent->m_recSet->GetFieldValue("S_Xb",temp); 
			m_StuList.SetItemText(i,2,temp); 
			m_parent->m_recSet->GetFieldValue("S_Jb",temp); 
			m_StuList.SetItemText(i,3,temp); 
			m_parent->m_recSet->GetFieldValue("S_Bj",temp); 
			m_StuList.SetItemText(i,4,temp); 
			m_parent->m_recSet->GetFieldValue("Z_Name",temp); 
			m_StuList.SetItemText(i,5,temp); 
			 
			i++; 
			m_parent->m_recSet->MoveNext(); 
		} 
	} 
	else 
	{ 
		MessageBox("未找到此人"); 
	} 
	m_parent->m_recSet->Close(); 
} 
 
void CByBysDlg::OnBuByXx()  
{ 
	// TODO: Add your control notification handler code here 
	if(sql =="") 
	{ 
		MessageBox("没有可查看的数据"); 
		return; 
	} 
	m_parent->m_recSet->Open(sql.GetBuffer(200)); 
	if(m_parent->m_recSet->GetRecordCount()<=0) 
	{ 
		m_parent->m_recSet->Close(); 
		MessageBox("没有可查看的数据"); 
		return; 
	} 
	CDaCxXXDlg dlg; 
	dlg.Index = m_StuList.GetSelectionMark(); 
	if(dlg.Index<0) 
	{ 
		dlg.Index = 0; 
	} 
	dlg.m_parent = this->m_parent; 
	dlg.DoModal(); 
	m_parent->m_recSet->Close(); 
} 
 
void CByBysDlg::OnBuByPrint()  
{ 
	// TODO: Add your control notification handler code here 
	 
}