www.pudn.com > chenjing.rar > PasswdDlg.cpp


// PasswdDlg.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "Library.h" 
#include "PasswdDlg.h" 
#include "LoginSet.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CPasswdDlg dialog 
 
 
CPasswdDlg::CPasswdDlg(CWnd* pParent /*=NULL*/) 
	: CDialog(CPasswdDlg::IDD, pParent) 
{ 
	//{{AFX_DATA_INIT(CPasswdDlg) 
	m_strConfirm = _T(""); 
	m_strNewPass = _T(""); 
	//}}AFX_DATA_INIT 
} 
 
 
void CPasswdDlg::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(CPasswdDlg) 
	DDX_Text(pDX, IDC_EDIT_CONFIRM_PASS, m_strConfirm); 
	DDX_Text(pDX, IDC_EDIT_NEW_PASS, m_strNewPass); 
	//}}AFX_DATA_MAP 
} 
 
 
BEGIN_MESSAGE_MAP(CPasswdDlg, CDialog) 
	//{{AFX_MSG_MAP(CPasswdDlg) 
	ON_BN_CLICKED(IDC_BUTTON_OK, OnButtonOk) 
	ON_BN_CLICKED(IDC_BUTTON_CANCEL, OnButtonCancel) 
	ON_WM_CLOSE() 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CPasswdDlg message handlers 
 
BOOL CPasswdDlg::OnInitDialog()  
{ 
	CDialog::OnInitDialog(); 
	 
	count=0; 
	 
	return TRUE;  // return TRUE unless you set the focus to a control 
	              // EXCEPTION: OCX Property Pages should return FALSE 
} 
 
void CPasswdDlg::OnButtonOk()  
{ 
	UpdateData(); 
	if(m_strNewPass!=m_strConfirm) 
	{ 
		if(count<5) 
		{ 
			MessageBox("两次输入的密码不一致!","修改密码"); 
			count++; 
			return; 
		} 
		else 
		{ 
			MessageBox("您无权修改密码!","修改密码"); 
			OnOK(); 
		} 
	} 
	 
	if(!m_database.IsOpen()) 
	{ 
		if(!m_database.Open(_T("Library"))) 
		{ 
			MessageBox("无法连接数据库!","图书管理系统",MB_OK); 
			return; 
		} 
	} 
 
	CString strSQL; 
	strSQL.Format("select * from Admin_Info where User_Name='%s'",m_user); 
	CLoginSet *m_pset=new CLoginSet(&m_database); 
	m_pset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); 
	m_pset->Edit(); 
	m_pset->m_Password=m_strNewPass; 
	m_pset->Update(); 
	m_pset->Requery(); 
	m_database.Close(); 
	MessageBox("密码修改成功!","修改密码"); 
	OnOK(); 
} 
 
void CPasswdDlg::OnButtonCancel()  
{ 
	if(m_database.IsOpen()) 
		m_database.Close(); 
	OnOK(); 
} 
 
void CPasswdDlg::OnClose()  
{ 
	OnButtonCancel(); 
}