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

📄 passmodifydlg.cpp

📁 本程序使用Visual C++6.0编写
💻 CPP
字号:
// PassModifyDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Sjsys.h"
#include "MyCrypt.h"
#include "PassModifyDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CPassModifyDlg dialog


CPassModifyDlg::CPassModifyDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CPassModifyDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CPassModifyDlg)
	m_OldPassword = _T("");
	m_NewPassword = _T("");
	m_NewAffirmPassword = _T("");
	//}}AFX_DATA_INIT
}


void CPassModifyDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPassModifyDlg)
	DDX_Control(pDX, IDCANCEL, m_cancel);
	DDX_Control(pDX, ID_OK, m_OK);
	DDX_Text(pDX, IDC_EDIT1, m_OldPassword);
	DDX_Text(pDX, IDC_EDIT2, m_NewPassword);
	DDX_Text(pDX, IDC_EDIT3, m_NewAffirmPassword);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CPassModifyDlg, CDialog)
	//{{AFX_MSG_MAP(CPassModifyDlg)
	ON_WM_CANCELMODE()
	ON_BN_CLICKED(ID_OK, OnAffirm)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPassModifyDlg message handlers

BOOL CPassModifyDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_OK.SetShade(CShadeButtonST::SHS_HBUMP);
	m_cancel.SetShade(CShadeButtonST::SHS_HBUMP);
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CPassModifyDlg::OnCancelMode() 
{
	CDialog::OnCancelMode();
	
	// TODO: Add your message handler code here
	
}

void CPassModifyDlg::OnAffirm() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
    //从数据库中寻找用户名密码
    CString SQLStr;
	m_OldPassword=CMyCrypt::MyEncrypt(m_OldPassword,123);  //对旧密码解密

	SQLStr.Format("select * from user1 where Password='%s'and ID='%d'",m_OldPassword,((CSjsysApp*)AfxGetApp())->m_UserID);
	_RecordsetPtr m_pRecordset;  
	HRESULT hTRes;
	try
	 {
		hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
			if (SUCCEEDED(hTRes))
			{   
				hTRes = m_pRecordset->Open((LPTSTR)SQLStr.GetBuffer(130),
				    	((CSjsysApp*)AfxGetApp())->pConnection.GetInterfacePtr(),
				    	adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果记录集				
			}
			

			if (!m_pRecordset->adoEOF) 	
			{
				if(m_NewPassword==m_NewAffirmPassword)
				{
					m_NewPassword=CMyCrypt::MyEncrypt(m_NewPassword,123);  //对新密码进行加密操作
					m_pRecordset->PutCollect("Password",_variant_t(m_NewPassword)); //规格
					m_pRecordset->Update(); //更新数据库
					AfxMessageBox("密码修改成功!");  //提示信息
				}
				else
				{
                   	AfxMessageBox("密码修改失败!");  //提示信息
					return;
				}
			}
           else
		   {
			   AfxMessageBox("旧密码错误!");
			   return;
		   }
     m_pRecordset->Close();
	}
	catch(_com_error *e)
	{
	   CString  errormessage;
	   errormessage.Format("打开记录集失败!\r\n错误信息:%s",e->ErrorMessage());
	   AfxMessageBox(errormessage);
	}
	CDialog::OnOK();
}

⌨️ 快捷键说明

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