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

📄 xjdjjcdlg.cpp

📁 vc开发的学生管理系统 很不错的 哦 供大家研究学习之用
💻 CPP
字号:
// XjDjjcDlg.cpp : implementation file
//

#include "stdafx.h"
#include "student.h"
#include "XjDjjcDlg.h"
#include "studentview.h"

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

/////////////////////////////////////////////////////////////////////////////
// CXjDjjcDlg dialog


CXjDjjcDlg::CXjDjjcDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CXjDjjcDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CXjDjjcDlg)
	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("");
	m_JC_Rq = 0;
	m_JC_Lx = _T("");
	m_JC_Ly = _T("");
	m_JC_Mc = _T("");
	m_Sid = _T("");
	m_Sxm = _T("");
	//}}AFX_DATA_INIT
	IsInit = false;
}


void CXjDjjcDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CXjDjjcDlg)
	DDX_Control(pDX, IDC_COMBO_JCLX, m_JC_Lx_Con);
	DDX_Control(pDX, IDC_LIST_JC, m_JcList);
	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);
	DDX_DateTimeCtrl(pDX, IDC_DATETIME_JCRQ, m_JC_Rq);
	DDX_CBString(pDX, IDC_COMBO_JCLX, m_JC_Lx);
	DDX_Text(pDX, IDC_EDIT_JCLY, m_JC_Ly);
	DDX_Text(pDX, IDC_EDIT_JCMC, m_JC_Mc);
	DDX_Text(pDX, IDC_EDIT_SID, m_Sid);
	DDX_Text(pDX, IDC_EDIT_SXM, m_Sxm);
	//}}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(x<STATIC_MYWIN_LEFT)
	{
		x = STATIC_MYWIN_LEFT;
	}
	if(y<STATIC_MYWIN_TOP)
	{
		y = STATIC_MYWIN_TOP;
	}
	this->MoveWindow(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);
	m_JC_Lx_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);

	lvc.iSubItem = 0;
	lvc.pszText = (char *)"奖惩ID";
	lvc.cx = 100;
	m_JcList.InsertColumn(0,&lvc);

	lvc.iSubItem = 1;
	lvc.pszText = (char *)"奖惩名称";
	lvc.cx = 100;
	m_JcList.InsertColumn(1,&lvc);

	lvc.iSubItem = 2;
	lvc.pszText = (char *)"奖惩类型";
	lvc.cx = 100;
	m_JcList.InsertColumn(2,&lvc);

	lvc.iSubItem = 3;
	lvc.pszText = (char *)"奖惩日期";
	lvc.cx = 100;
	m_JcList.InsertColumn(3,&lvc);

	lvc.iSubItem = 4;
	lvc.pszText = (char *)"奖惩理由";
	lvc.cx = 100;
	m_JcList.InsertColumn(4,&lvc);
	//
	IsInit = true;
	}
}


BEGIN_MESSAGE_MAP(CXjDjjcDlg, CDialog)
	//{{AFX_MSG_MAP(CXjDjjcDlg)
	ON_BN_CLICKED(IDC_BU_CLOSE, OnBuClose)
	ON_BN_CLICKED(IDC_BU_S, OnBuS)
	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_NOTIFY(NM_CLICK, IDC_LIST_STU, OnClickListStu)
	ON_NOTIFY(NM_CLICK, IDC_LIST_JC, OnClickListJc)
	ON_BN_CLICKED(IDC_BU_DEL, OnBuDel)
	ON_BN_CLICKED(IDC_BU_ADD, OnBuAdd)
	ON_BN_CLICKED(IDC_BU_SAVE, OnBuSave)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CXjDjjcDlg message handlers

void CXjDjjcDlg::OnBuClose() 
{
	// TODO: Add your control notification handler code here
	this->m_parent->m_Dlg_XjDjjc = 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 CXjDjjcDlg::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 WHERE 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("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 CXjDjjcDlg::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 CXjDjjcDlg::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 CXjDjjcDlg::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 CXjDjjcDlg::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 CXjDjjcDlg::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 CXjDjjcDlg::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 CXjDjjcDlg::OnClickListStu(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	int index = m_StuList.GetSelectionMark();
	if(index<0)
	{
		return;
	}
	CString SID =m_StuList.GetItemText(index,0);
	RefreshJC(SID);

	this->UpdateData(true);
	m_Sid = m_StuList.GetItemText(index,0);
	m_Sxm = m_StuList.GetItemText(index,1);
	this->UpdateData(false);
	*pResult = 0;
}

void CXjDjjcDlg::OnClickListJc(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	int index = m_JcList.GetSelectionMark();
	if(index <0)
	{
		return;
	}
	this->UpdateData(true);
	m_JC_Lx = m_JcList.GetItemText(index,2);
	m_JC_Ly = m_JcList.GetItemText(index,4);
	m_JC_Mc = m_JcList.GetItemText(index,1);
	COleDateTime dateTemp;
	dateTemp.ParseDateTime(m_JcList.GetItemText(index,3));
	CTime t(dateTemp.GetYear(),dateTemp.GetMonth(),dateTemp.GetDay());
	m_JC_Rq = t;
	this->UpdateData(false);
	*pResult = 0;
}

void CXjDjjcDlg::OnBuDel() 
{
	// TODO: Add your control notification handler code here
	int index = m_JcList.GetSelectionMark();
	if(index <0)
	{
		MessageBox("请选择要删除的行");
		return;
	}
	this->UpdateData(true);
	CString JCID= m_JcList.GetItemText(index,0);
	CString sqlt;
	sqlt.Format("DELETE FROM JcTable WHERE JC_ID=%s",JCID);
	m_parent->m_conn->Execute(sqlt);
	m_JcList.DeleteItem(index);
	this->UpdateData(false);
}

void CXjDjjcDlg::OnBuAdd() 
{
	// TODO: Add your control notification handler code here
	this->UpdateData(true);
	m_Sid.TrimLeft();
	m_Sid.TrimRight();
	if(m_Sid == "")
	{
		MessageBox("请选择学生");
		return;
	}

	CString sqlt;
	sqlt.Format("INSERT INTO JcTable(S_ID,JC_Date,JC_Mc,JC_Yy,JC_Lx) VALUES('%s',DATE(),'%s','%s','%s')"\
		,m_Sid,m_JC_Mc,m_JC_Ly,m_JC_Lx);
	m_parent->m_conn->Execute(sqlt);

	RefreshJC(m_Sid);
	
	this->UpdateData(false);
}

void CXjDjjcDlg::OnBuSave() 
{
	// TODO: Add your control notification handler code here
	int index = m_JcList.GetSelectionMark();
	if(index<0)
	{
		MessageBox("请选择要修改行");
		return;
	}
	this->UpdateData(true);
	m_Sid.TrimLeft();
	m_Sid.TrimRight();
	if(m_Sid == "")
	{
		MessageBox("请选择学生");
		return;
	}
	
	CString sqlt;
	sqlt.Format("UPDATE JcTable SET JC_Lx='%s',JC_Mc='%s',JC_Yy='%s' WHERE JC_ID=%s"\
		,m_JC_Lx,m_JC_Mc,m_JC_Ly,m_JcList.GetItemText(index,0));
	m_parent->m_conn->Execute(sqlt);
	RefreshJC(m_Sid);
	this->UpdateData(false);
}

void CXjDjjcDlg::RefreshJC(CString SID)
{
	m_JcList.DeleteAllItems();
	CString sqlt;
	sqlt.Format("SELECT * FROM JcTable WHERE S_ID='%s'",SID);
	m_parent->m_recSet->Open(sqlt.GetBuffer(100));
	
	if(!m_parent->m_recSet->IsEOF())
	{
		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_JcList.InsertItem(&lvitem);
			
			m_parent->m_recSet->GetFieldValue("JC_ID",temp);
			m_JcList.SetItemText(i,0,temp);
			m_parent->m_recSet->GetFieldValue("JC_Mc",temp);
			m_JcList.SetItemText(i,1,temp);
			m_parent->m_recSet->GetFieldValue("JC_Lx",temp);
			m_JcList.SetItemText(i,2,temp);
			m_parent->m_recSet->GetFieldValue("JC_Date",dateTemp);
			m_JcList.SetItemText(i,3,dateTemp.Format("%Y/%m/%d"));
			m_parent->m_recSet->GetFieldValue("JC_Yy",temp);
			m_JcList.SetItemText(i,4,temp);
			
			
			i++;
			m_parent->m_recSet->MoveNext();
		}
	}
	m_parent->m_recSet->Close();
}

⌨️ 快捷键说明

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