📄 pwdmodify.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 + -