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

📄 pwdmodify.cpp

📁 银行系统的网上用户操作模块.用户可以以网页的形式注册银行帐号,并进行转帐操作.
💻 CPP
字号:
// PwdModify.cpp : 实现文件
//

#include "stdafx.h"
#include "BankService.h"
#include "PwdModify.h"
#include ".\pwdmodify.h"


// CPwdModify 对话框

IMPLEMENT_DYNAMIC(CPwdModify, CDialog)
CPwdModify::CPwdModify(CWnd* pParent /*=NULL*/)
	: CDialog(CPwdModify::IDD, pParent)
	, m_name(_T(""))
	, m_id(_T(""))
	, m_oldpwd(_T(""))
	, m_pwd(_T(""))
	, m_pwdagain(_T(""))
{
}

CPwdModify::~CPwdModify()
{
}

void CPwdModify::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Text(pDX, IDC_NAME, m_name);
	DDX_Text(pDX, IDC_ID_CARD, m_id);
	DDX_Control(pDX, IDC_UESR_ACCOUNT_LIST, m_AccountList);
	DDX_Text(pDX, IDC_OLD_PWD, m_oldpwd);
	DDX_Text(pDX, IDC_NEW_PWD, m_pwd);
	DDX_Text(pDX, IDC_NEW_PWD_AGAIN, m_pwdagain);
}


BEGIN_MESSAGE_MAP(CPwdModify, CDialog)
	ON_BN_CLICKED(IDC_GET_USER_ACCOUNT, OnBnClickedGetUserAccount)
	ON_BN_CLICKED(IDC_PWD_MODIFY, OnBnClickedPwdModify)
END_MESSAGE_MAP()


// CPwdModify 消息处理程序

void CPwdModify::OnBnClickedGetUserAccount()
{
	// TODO: 在此添加控件通知处理程序代码
	
	//更新输入变量
	UpdateData();
	//以人名和身份证号查询此用户的所有帐户记录
	CString strQuery="SELECT * FROM bankbook WHERE bankbook.uname=\'"+m_name+"\' AND bankbook.uid=\'"+m_id+"\'";

	//尝试查询
	try{
		pRst=pConn->Execute(_bstr_t(strQuery),NULL,adCmdText);
	}
	catch(_com_error &e)
	{
		MessageBox(e.ErrorMessage()); 
		return ;
	}

	//将查询到的帐户记录加到列表框
	while(!pRst->rsEOF)
	{
		CString str2=" "+(_bstr_t)pRst->GetCollect("accnum")+" "+(_bstr_t)pRst->GetCollect("amount")+" "+(_bstr_t)pRst->GetCollect("fundtype")+" ";
		
		m_AccountList.AddString(str2);
		pRst->MoveNext();
	}
}

void CPwdModify::OnBnClickedPwdModify()
{
	// TODO: 在此添加控件通知处理程序代码

	//获得列表框中选中的帐号是哪一项
	int index=m_AccountList.GetCurSel();
	
	//首先要打开pRst,这样才能获得Rst的记录数
	UpdateData();
	CString strQuery="SELECT * FROM bankbook WHERE bankbook.uname=\'"+m_name+"\' AND bankbook.uid=\'"+m_id+"\'";
	pRst.CreateInstance("ADODB.Recordset");
	pRst->Open(_bstr_t(strQuery),_variant_t((IDispatch*)pConn,true),adOpenStatic,adLockOptimistic,adCmdText);

	//在Rst中找出此记录
	pRst->MoveFirst();
	while(index)
	{
		pRst->MoveNext();
		index--;
	}

	//获得该帐号的密码
	CString PWD=pRst->GetCollect("password");
	PWD.TrimRight();
	
	//判断旧密码是否正确,正确的话修改为新密码
	
	if( PWD==m_oldpwd && m_pwd==m_pwdagain)
	{
		try
		{
			pRst->put_Collect(_variant_t("password"),_variant_t(m_pwd));
			pRst->Update();
		}
		catch(_com_error &e)
		{
			MessageBox(e.ErrorMessage()); 
			return ;
		}
		AfxMessageBox("密码修改成功!");
	}
	else
	{
		if(PWD!=m_oldpwd)
			AfxMessageBox("旧密码有误");
		if(m_pwd!=m_pwdagain)
			AfxMessageBox("两次新密码不相同");
	}
	
}

⌨️ 快捷键说明

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