www.pudn.com > rsdagl.rar > DelAdmin.cpp


// DelAdmin.cpp : 实现文件 
// 
 
#include "stdafx.h" 
#include "人事管理系统.h" 
#include "DelAdmin.h" 
#include ".\deladmin.h" 
#include "MainFrm.h" 
#include "BkStatic.h" 
 
 
// CDelAdmin 对话框 
 
IMPLEMENT_DYNAMIC(CDelAdmin, CDialog) 
CDelAdmin::CDelAdmin(CWnd* pParent /*=NULL*/) 
	: CDialog(CDelAdmin::IDD, pParent) 
{ 
} 
 
CDelAdmin::~CDelAdmin() 
{ 
} 
 
void CDelAdmin::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	DDX_Control(pDX, IDC_ADMININFO, m_pCombox); 
	DDX_Control(pDX, IDC_LOGOF, m_logof); 
} 
 
 
BEGIN_MESSAGE_MAP(CDelAdmin, CDialog) 
	ON_BN_CLICKED(IDC_SHENFEN, OnBnClickedShenfen) 
	ON_BN_CLICKED(IDC_DELADMIN, OnBnClickedDeladmin) 
END_MESSAGE_MAP() 
 
 
// CDelAdmin 消息处理程序 
 
void CDelAdmin::OnBnClickedShenfen() 
{ 
	// TODO: 在此添加控件通知处理程序代码 
	CString Cadmin; 
	GetDlgItemText(IDC_MIMA,Cadmin); 
	CMainFrame *pFrm =(CMainFrame *)AfxGetApp()->m_pMainWnd; 
	if(strcmp(Cadmin,pFrm->m_AdminInfo.password)==0) 
	{ 
		GetDlgItem(IDC_MIMA)->ShowWindow(FALSE); 
		GetDlgItem(IDC_ADMININFO)->ShowWindow(TRUE); 
		GetDlgItem(IDC_DELADMIN)->ShowWindow(TRUE); 
		GetDlgItem(IDOK)->ShowWindow(TRUE); 
		SetDlgItemText(IDC_CHOICES,"请选择要删除的帐户名"); 
		GetDlgItem(IDC_SHENFEN)->ShowWindow(FALSE); 
	} 
	else 
	{ 
		AfxMessageBox("身份验证失败!",MB_OK); 
		SetDlgItemText(IDC_MIMA,""); 
	} 
 
} 
 
 
bool CDelAdmin::InitDatebase(void) 
{ 
	m_pRecordset.CreateInstance(_uuidof(Recordset)); 
	try 
	{ 
	 
		m_pRecordset->Open("SELECT * FROM 管理员 ORDER BY id",theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); 
	} 
	catch(_com_error e) 
	{ 
		AfxMessageBox("修改数据时连接错误,请勿乱修改数据库和数据表结构\n如有特别需要请联系作者定制软件:)",MB_OK); 
		return false; 
	} 
 
	return true; 
} 
 
BOOL CDelAdmin::OnInitDialog() 
{ 
	CDialog::OnInitDialog(); 
 
	// TODO:  在此添加额外的初始化 
 
	InitCombox(); 
	//列举所有管理员名字// 
	GetDlgItem(IDC_ADMININFO)->ShowWindow(FALSE); 
	GetDlgItem(IDC_DELADMIN)->ShowWindow(FALSE); 
	GetDlgItem(IDOK)->ShowWindow(FALSE); 
	m_logof.settext("   删除管理员界面"); 
	 
	return TRUE;  // return TRUE unless you set the focus to a control 
	// 异常: OCX 属性页应返回 FALSE 
} 
 
bool CDelAdmin::InitCombox(void) 
{ 
	InitDatebase(); 
	CMainFrame *pFrm =(CMainFrame *)AfxGetApp()->m_pMainWnd; 
	m_pRecordset->MoveFirst(); 
	CString Cadmin; 
	while(!m_pRecordset->adoEOF) 
	{ 
		_variant_t vadmin; 
		vadmin=m_pRecordset->GetCollect("管理员"); 
		if(vadmin.vt!=VT_NULL) 
			Cadmin=(LPCSTR)_bstr_t(vadmin);	 
		if(strcmp(Cadmin,pFrm->m_AdminInfo.username)!=0)	 
			m_pCombox.AddString(Cadmin);	 
		m_pRecordset->MoveNext(); 
	} 
	m_pRecordset->Close(); 
	return true; 
} 
 
void CDelAdmin::OnBnClickedDeladmin() 
{ 
	// TODO: 在此添加控件通知处理程序代码 
	CString deladmin; 
	GetDlgItemText(IDC_ADMININFO,deladmin); 
	if(AfxMessageBox("确定删除么?一旦删除将彻底从数据库中删除",MB_YESNO)==IDYES) 
	{ 
		if(strcmp(deladmin,"")!=0) 
		{ 
			InitDatebase(); 
			CString Sqlcommand; 
			_variant_t vadmin; 
			Sqlcommand.Format("DELETE * FROM 管理员 WHERE 管理员='%s'",deladmin); 
			theApp.m_pConnection->Execute(_bstr_t(Sqlcommand),&vadmin,adCmdText); 
			m_pRecordset->Close(); 
			m_pCombox.ResetContent(); 
			InitCombox(); 
			Sqlcommand.Format("删除管理员%s成功",deladmin); 
			AfxMessageBox(Sqlcommand,MB_OK); 
		} 
	} 
}