logindlg.cpp
来自「用Visual c++.net开发的图书管理系统」· C++ 代码 · 共 109 行
CPP
109 行
// LoginDlg.cpp : 实现文件
//
#include "stdafx.h"
#include "myBook.h"
#include "LoginDlg.h"
#include ".\logindlg.h"
// CLoginDlg 对话框
IMPLEMENT_DYNAMIC(CLoginDlg, CDialog)
CLoginDlg::CLoginDlg(CWnd* pParent /*=NULL*/)
: CDialog(CLoginDlg::IDD, pParent)
, m_strID(_T(""))
, m_strPass(_T(""))
{
}
CLoginDlg::~CLoginDlg()
{
}
void CLoginDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT_ID, m_strID);
DDX_Text(pDX, IDC_EDIT_PASS, m_strPass);
}
BEGIN_MESSAGE_MAP(CLoginDlg, CDialog)
ON_BN_CLICKED(IDC_CHECK_READER, OnBnClickedCheckReader)
END_MESSAGE_MAP()
// CLoginDlg 消息处理程序
BOOL CLoginDlg::OnInitDialog()
{
CDialog::OnInitDialog();
return TRUE;
}
void CLoginDlg::OnOK()
{
UpdateData( TRUE );
if( IsDlgButtonChecked( IDC_CHECK_READER ) == BST_CHECKED )
{
theApp.bReader = TRUE;
CDialog::OnOK();
return;
}
if( m_strID.IsEmpty() )
{
return;
}
CString strSQL;
BOOL bMatch = FALSE;
strSQL.Format( _T("SELECT TOP 1 [Password] FROM my_Administer WHERE Account='%s'"), m_strID );
try
{
CDatabase db;
db.OpenEx(_T("DSN=myLib;UID=sa;PWD='';"), CDatabase::noOdbcDialog);
CRecordset rset(&db);
rset.Open(CRecordset::dynaset,strSQL);
CString strValue;
if ( ! rset.IsEOF() )
{
rset.GetFieldValue((short)0, strValue);
if ( strValue.Trim() == m_strPass.Trim() )
{
bMatch = TRUE;
}
else
{
MessageBox( _T("口令或密码错误!"), NULL, MB_OK | MB_ICONERROR );
}
}
rset.Close();
db.Close();
}
catch ( CDBException *e )
{
e->ReportError();
e->Delete();
}
if ( bMatch )
{
theApp.strMasterID = m_strID;
CDialog::OnOK();
}
}
void CLoginDlg::OnBnClickedCheckReader()
{
if( IsDlgButtonChecked( IDC_CHECK_READER ) == BST_CHECKED )
{
GetDlgItem( IDC_EDIT_ID )->EnableWindow( FALSE );
GetDlgItem( IDC_EDIT_PASS )->EnableWindow( FALSE );
}
else
{
GetDlgItem( IDC_EDIT_ID )->EnableWindow( TRUE );
GetDlgItem( IDC_EDIT_PASS )->EnableWindow( TRUE );
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?