www.pudn.com > 111.rar > Dialog_DeleteData.cpp


// 
/****************************************/ 
/*		SchoolManageSystem			    */ 
/*设计者:全佳营						*/ 
/*时间:2004.5.9-2004-5.18				*/ 
/*Email:ghostman@tzc.edu.cn				*/ 
/****************************************/ 
// Dialog_DeleteData.cpp : 实现文件 
// 
 
#include "stdafx.h" 
#include "SchoolManageSys_2.h" 
#include "Dialog_DeleteData.h" 
#include ".\dialog_deletedata.h" 
#include "SchoolManageSys_2Dlg.h" 
 
// CDialog_DeleteData 对话框 
 
IMPLEMENT_DYNAMIC(CDialog_DeleteData, CDialog) 
CDialog_DeleteData::CDialog_DeleteData(CWnd* pParent /*=NULL*/) 
	: CDialog(CDialog_DeleteData::IDD, pParent) 
{ 
} 
 
CDialog_DeleteData::~CDialog_DeleteData() 
{ 
} 
 
void CDialog_DeleteData::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	DDX_Control(pDX, IDC_COMBO_SELECTD, m_selectdel); 
	DDX_Control(pDX, IDC_COMBO_ID, m_xiangguanID); 
	DDX_Control(pDX, IDC_DATAGRID_CHECK, m_checkinfo); 
} 
 
 
BEGIN_MESSAGE_MAP(CDialog_DeleteData, CDialog) 
	ON_CBN_SELCHANGE(IDC_COMBO_SELECTD, OnCbnSelchangeComboSelectd) 
	ON_CBN_SELCHANGE(IDC_COMBO_ID, OnCbnSelchangeComboId) 
	ON_BN_CLICKED(IDOK, OnBnClickedOk) 
	ON_BN_CLICKED(IDC_BUTTON_BACK, OnBnClickedButtonBack) 
END_MESSAGE_MAP() 
 
 
// CDialog_DeleteData 消息处理程序 
BOOL CDialog_DeleteData::OnInitDialog(){ 
	CDialog::OnInitDialog(); 
 
	theApp.m_pSkin->ApplySkin((long)m_hWnd); 
	m_selectdel.AddString("学院"); 
	m_selectdel.AddString("系"); 
	m_selectdel.AddString("班级"); 
	m_selectdel.AddString("社团"); 
	m_selectdel.AddString("学生"); 
	m_selectdel.AddString("教师"); 
	m_selectdel.AddString("课程"); 
	m_selectdel.SetCurSel(0); 
 
	CWnd *m_pWnd=CWnd::FindWindow(NULL,"校人事信息管理系统"); 
	m_adoconnection=((CSchoolManageSys_2Dlg*) m_pWnd)->m_AdoConnection; 
 
	return TRUE; 
} 
 
void CDialog_DeleteData::OnCbnSelchangeComboSelectd() 
{ 
	// TODO: 在此添加控件通知处理程序代码 
	UpdateData(); 
	CString sqlstr; 
	m_selectdel.GetLBText(m_selectdel.GetCurSel(),m_select1); 
	if(m_select1=="学院"){ 
		sqlstr="collegerecord"; 
		m_pid="collegeid"; 
	}else if(m_select1=="系"){ 
		sqlstr="departmentrecord"; 
		m_pid="departmentid"; 
	}else if(m_select1=="班级"){ 
		sqlstr="classrecord"; 
		m_pid="classid"; 
	}else if(m_select1=="社团"){ 
		sqlstr="consortiumrecord"; 
		m_pid="consortiumid"; 
	}else if(m_select1=="学生"){ 
		sqlstr="studentrecord"; 
		m_pid="studynum"; 
	}else if(m_select1=="教师"){ 
		sqlstr="teacherrecord"; 
		m_pid="teachernum"; 
	}else if(m_select1=="课程"){ 
		sqlstr="lessonrecord"; 
		m_pid="lessonid"; 
	} 
	if(m_adoconnection.IsOpen()){ 
		m_adorecordset.SetAdoConnection(&m_adoconnection); 
		m_adorecordset.SetCursorLocation(); 
		m_adorecordset.Open(sqlstr,adCmdTable); 
	} 
	if(!m_adorecordset.IsBOF()) 
		m_adorecordset.MoveFirst(); 
	int nrecord=m_adorecordset.GetRecordCount(); 
	CString tmpid,tmp; 
	int tmpid1; 
	while(!m_adorecordset.IsEOF()){ 
		if(m_pid=="studynum"||m_pid=="teachernum"){ 
			m_adorecordset.GetCollect(m_pid,tmpid); 
			tmp.Format("%s",tmpid); 
		}else { 
			m_adorecordset.GetCollect(m_pid,tmpid1); 
			tmp.Format("%d",tmpid1); 
		} 
		m_xiangguanID.AddString(tmp); 
		m_adorecordset.MoveNext(); 
	} 
	m_xiangguanID.SetCurSel(0); 
} 
 
void CDialog_DeleteData::OnCbnSelchangeComboId() 
{ 
	// TODO: 在此添加控件通知处理程序代码 
	UpdateData(); 
	CString m_tmpid,tmp; 
	m_xiangguanID.GetLBText(m_xiangguanID.GetCurSel(),m_tmpid); 
	if(m_pid=="studynum"||m_pid=="teachernum"){ 
		tmp.Format("%s=\'%s\'",m_pid,m_tmpid); 
	}else { 
		tmp.Format("%s=%s",m_pid,m_tmpid); 
	} 
	m_adorecordset.SetFilter(tmp); 
	if(m_adorecordset.IsEOF()){ 
		AfxMessageBox("没有相关信息"); 
		return; 
	} 
	m_checkinfo.putref_DataSource(NULL); 
	m_checkinfo.putref_DataSource((LPUNKNOWN)m_adorecordset.GetRecordset()); 
	m_checkinfo.put_AllowAddNew(TRUE); 
	m_checkinfo.put_AllowDelete(TRUE); 
	m_checkinfo.put_AllowUpdate(TRUE); 
} 
 
void CDialog_DeleteData::OnBnClickedOk() 
{ 
	// TODO: 在此添加控件通知处理程序代码 
	UpdateData(); 
	m_adorecordset.Delete(); 
	if(!m_adoconnection.CommitTrans()){ 
		AfxMessageBox("删除失败"); 
		return; 
	} 
	OnOK(); 
} 
 
void CDialog_DeleteData::OnBnClickedButtonBack() 
{ 
	// TODO: 在此添加控件通知处理程序代码 
	if(!m_adoconnection.RollbackTrans()){ 
		AfxMessageBox("撤消失败"); 
	} 
}