📄 enterdialog.cpp
字号:
// EnterDialog.cpp : implementation file
//
#include "stdafx.h"
#include "TestPaper.h"
#include "EnterDialog.h"
#include "MainFrm.h"
#include "TestPaperDoc.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CEnterDialog dialog
CEnterDialog::CEnterDialog(CWnd* pParent /*=NULL*/)
: CDialog(CEnterDialog::IDD, pParent)
{
//{{AFX_DATA_INIT(CEnterDialog)
m_user = _T("");
m_password = _T("");
//}}AFX_DATA_INIT
}
void CEnterDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CEnterDialog)
DDX_Text(pDX, IDC_EDIT1, m_user);
DDX_Text(pDX, IDC_EDIT2, m_password);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CEnterDialog, CDialog)
//{{AFX_MSG_MAP(CEnterDialog)
ON_WM_SETCURSOR()
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CEnterDialog message handlers
BOOL CEnterDialog::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
// TODO: Add your message handler code here and/or call default
return CDialog::OnSetCursor(pWnd, nHitTest, message);
}
void CEnterDialog::OnButton1()
{
// TODO: Add your control notification handler code here
CDialog::OnOK();
}
BOOL CEnterDialog::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
try
{
if(!enterbase.IsOpen())
enterbase.OpenEx("DSN=题库;UID=sa;PWD=");
}
catch(...)
{
AfxMessageBox("cann't open database!");
return 0;
}
enterrecord.m_pDatabase=&enterbase;
((CEdit*)GetDlgItem(IDC_EDIT1))->SetLimitText(20);
((CEdit*)GetDlgItem(IDC_EDIT2))->SetLimitText(20);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CEnterDialog::OnOK()
{
// TODO: Add extra validation here
UpdateData(TRUE);
m_user.TrimLeft();
m_user.TrimRight();
m_password.TrimLeft();
m_password.TrimRight();
try
{
if(enterrecord.IsOpen())
{
enterrecord.Close();
enterrecord.Open(CRecordset::dynaset,"select * from 密码表");
}
else
{
enterrecord.Open(CRecordset::dynaset,"select * from 密码表");
}
}
catch(...)
{
AfxMessageBox("cann't open table!");
return;
}
if(enterrecord.GetRecordCount()==0)
{
if(m_user=="administrator")
{
enter=TRUE;
booladmin=TRUE;
struser="administrator";
CDialog::OnOK();
return;
}
if(m_user!="")
{
enter=TRUE;
struser=m_user;
CDialog::OnOK();
booladmin=FALSE;
return;
}
if(m_user=="")
{
((CEdit*)GetDlgItem(IDC_EDIT1))->SetFocus();
m_password="";
m_user="";
UpdateData(FALSE);
AfxMessageBox("对不起,请输入用户名!");
return;
}
}
else
{
BOOL bo1=FALSE;
BOOL bo2=FALSE;
BOOL bo3=FALSE;
CString str3;
CDBVariant XgVa;
enterrecord.MoveFirst();
while(!enterrecord.IsEOF())
{
CString temp="administrator";
int j=0;
enterrecord.GetFieldValue(j,XgVa);
CString man;
man=XgVa.m_pstring->GetBuffer(1);
man.TrimLeft();
man.TrimRight();
if(temp.Compare(man)==0)
{
enterrecord.GetFieldValue(1,XgVa);
CString man1;
man1=XgVa.m_pstring->GetBuffer(1);
man1.TrimLeft();
man1.TrimRight();
str1=man1;
bo1=TRUE;
}
if(temp.Compare(man)!=0)
{
CString man2;
man2=XgVa.m_pstring->GetBuffer(1);
man2.TrimLeft();
man2.TrimRight();
if(man2.Compare(m_user)==0)
{
bo2=TRUE;
}
enterrecord.GetFieldValue(1,XgVa);
man2=XgVa.m_pstring->GetBuffer(1);
man2.TrimLeft();
man2.TrimRight();
if(man2.Compare(m_password)==0)
{
bo3=TRUE;
}
}
enterrecord.MoveNext();
}
if(bo1)
{
if(m_user=="administrator" && m_password==str1)
{
enter=TRUE;
booladmin=TRUE;
struser="administrator";
CDialog::OnOK();
return;
}
}
if(bo2 && bo3)
{
enter=TRUE;
struser=m_user;
CDialog::OnOK();
booladmin=FALSE;
return;
}
if(!bo1)
{
if(m_user=="administrator")
{
enter=TRUE;
booladmin=TRUE;
struser="administrator";
CDialog::OnOK();
return;
}
}
((CEdit*)GetDlgItem(IDC_EDIT1))->SetFocus();
m_password="";
m_user="";
UpdateData(FALSE);
AfxMessageBox("对不起,密码或用户名错误!");
return;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -