📄 password.cpp
字号:
// PassWord.cpp : implementation file
//
#include "stdafx.h"
#include "AssetEnrol.h"
#include "PassWord.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// PassWord dialog
PassWord::PassWord(CWnd* pParent /*=NULL*/)
: CDialog(PassWord::IDD, pParent)
{
//{{AFX_DATA_INIT(PassWord)
m_PassWord = _T("");
m_PrePassword = _T("");
m_NewPassword1 = _T("");
m_NewPassword2 = _T("");
//}}AFX_DATA_INIT
}
void PassWord::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(PassWord)
DDX_Text(pDX, IDC_EDIT1, m_PassWord);
DDV_MaxChars(pDX, m_PassWord, 16);
DDX_Text(pDX, IDC_PRE_PASSWORD, m_PrePassword);
DDX_Text(pDX, IDC_NEW_PASSWORD1, m_NewPassword1);
DDX_Text(pDX, IDC_NEWPASSWORD2, m_NewPassword2);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(PassWord, CDialog)
//{{AFX_MSG_MAP(PassWord)
ON_BN_CLICKED(IDC_MODIFY_OK, OnModifyOk)
ON_BN_CLICKED(IDC_QUIT, OnQuit)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// PassWord message handlers
void PassWord::OnOK()
{
// add
extern CAssetEnrolApp theApp;
extern BOOL IsOpen;
_variant_t var;
CString password;
UpdateData();
if(m_PassWord=="")
{
MessageBox(" 密码不能为空! \n\n 请输入密码...","提示!");
return;
}
//创建一个数据库连接
m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{
//打开AssetEnrol表(所有字段)
m_pRecordset->Open("SELECT * FROM Identify",theApp.m_pConnection.GetInterfacePtr(),
adOpenDynamic, adLockOptimistic,adCmdText);
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空!");
return;
}
var=m_pRecordset->GetCollect("PassWord");
if(var.vt!=VT_NULL)
{
password=(LPCSTR)_bstr_t(var);
if(m_PassWord!=password)
{
MessageBox(" 输入密码不正确! \n\n 请重新输入密码...","提示!");
m_PassWord="";
UpdateData(FALSE);
return;
}
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
IsOpen=TRUE;
UpdateData(FALSE);
m_pRecordset->Close();
CDialog::OnOK();
}
void PassWord::OnModifyOk()
{
// add...
extern CAssetEnrolApp theApp;
_variant_t var;
CString password;
UpdateData();
if(m_PrePassword=="" || m_NewPassword1=="" || m_NewPassword2=="")
{
MessageBox("密码不能为空","提示!");
return;
}
//创建一个数据库连接
m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{
//打开AssetEnrol表(所有字段)
m_pRecordset->Open("SELECT * FROM Identify",theApp.m_pConnection.GetInterfacePtr(),
adOpenDynamic, adLockOptimistic,adCmdText);
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
MessageBox("表内数据为空!","提示!");
return;
}
var=m_pRecordset->GetCollect("PassWord");
if(var.vt!=VT_NULL)
{
password=(LPCSTR)_bstr_t(var);
if(m_PrePassword!=password)
{
MessageBox(" 原密码输入不正确! \n\n 请重新输入原密码...","提示!");
m_PrePassword="";
UpdateData(FALSE);
return;
}
if(m_NewPassword1!=m_NewPassword2)
{
MessageBox(" 两次密码输入不一样! \n\n 请重新输入新密码...","提示!");
m_NewPassword1="";
m_NewPassword2="";
UpdateData(FALSE);
return;
}
if(m_NewPassword1.GetLength()<6 ||m_NewPassword2.GetLength()<6)
{
MessageBox(" 密码长度不能少于6位! \n\n 请重新输入新密码...","提示!");
m_NewPassword1="";
m_NewPassword2="";
UpdateData(FALSE);
return;
}
if(m_NewPassword1.GetLength()>12 ||m_NewPassword2.GetLength()>12)
{
MessageBox(" 密码长度不能大于12位! \n\n 请重新输入新密码...","提示!");
m_NewPassword1="";
m_NewPassword2="";
UpdateData(FALSE);
return;
}
m_pRecordset->Delete(adAffectCurrent); //删除当前行记录
//记录移到第一个
m_pRecordset->MoveFirst();
//写入新的密码
m_pRecordset->AddNew();
m_pRecordset->PutCollect("PassWord",_variant_t(m_NewPassword1));
m_pRecordset->Update();
MessageBox("密码已修改!!\n","提示!");
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
BOOL PassWord::OnInitDialog()
{
CDialog::OnInitDialog();
extern BOOL IsOpen;
IsOpen=FALSE;
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void PassWord::OnQuit()
{
// add...
CDialog::OnCancel();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -