passwddlg.cpp

来自「本学期的一个小项目学校收费管理系统」· C++ 代码 · 共 101 行

CPP
101
字号
// PasswdDlg.cpp : implementation file
//

#include "stdafx.h"
#include "ChargeManage.h"
#include "PasswdDlg.h"
#include "UserInfo.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_confirm = _T("");
	m_new = _T("");
	m_old = _T("");
	m_user = _T("");
	//}}AFX_DATA_INIT
}


void CPasswdDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPasswdDlg)
	DDX_Text(pDX, IDC_CONFIRM_EDIT, m_confirm);
	DDX_Text(pDX, IDC_NEW_EDIT, m_new);
	DDX_Text(pDX, IDC_OLD_EDIT, m_old);
	DDX_Text(pDX, IDC_USER_STATIC, m_user);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CPasswdDlg, CDialog)
	//{{AFX_MSG_MAP(CPasswdDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPasswdDlg message handlers

void CPasswdDlg::OnOK() 
{
	// TODO: Add extra validation here
	
	//将对话框中编辑框的数据读取到成员变量中
	UpdateData(TRUE);
	
	//检查数据有效性
	if (m_old == "")
	{
		MessageBox("请输入旧密码");
		GetDlgItem(IDC_OLD_EDIT)->SetFocus();
		return;
	}
	if (m_new == "")
	{
		MessageBox("请输入新密码");
		GetDlgItem(IDC_NEW_EDIT)->SetFocus();
		return;
	}
	if (m_confirm != m_new)
	{
		MessageBox("两次输入的新密码不同");
		m_new = "";
		m_confirm = "";
		UpdateData(FALSE);
		GetDlgItem(IDC_NEW_EDIT)->SetFocus();
		return;
	}
	
	//定义CUserInfo对象,用于从表UserInfo中读取数据
	CUserInfo cur;
	cur.GetInfo(m_user);
	
	//如果读取的数据与用户输入数据不同,则返回
	if (cur.Passwd != m_old)
	{
		MessageBox("用户密码不正确!");
		m_old = "";
		UpdateData(FALSE);
		GetDlgItem(IDC_OLD_EDIT)->SetFocus();
		return;
	}	
	
	cur.Passwd = m_new;
	cur.SqlUpdate(m_user);
	
	MessageBox("密码修改成功,下次登录请使用新密码");
	
	CDialog::OnOK();
}

⌨️ 快捷键说明

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