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

📄 logindlg.cpp

📁 一个完整的MFC系统
💻 CPP
字号:
// LoginDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Library.h"
#include "Adminset.h"
#include "LoginDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CLoginDlg dialog


CLoginDlg::CLoginDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CLoginDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CLoginDlg)
	m_strpwd = _T("");
	m_struser = _T("");
	//}}AFX_DATA_INIT
}


void CLoginDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CLoginDlg)
	DDX_Control(pDX, IDC_EDIT_PWD, m_editpwd);
	DDX_Control(pDX, IDC_COMBO_USER_NAME, m_combousername);
	DDX_Text(pDX, IDC_EDIT_PWD, m_strpwd);
	DDX_CBString(pDX, IDC_COMBO_USER_NAME, m_struser);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CLoginDlg, CDialog)
	//{{AFX_MSG_MAP(CLoginDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CLoginDlg message handlers

void CLoginDlg::OnOK() 
{
	CAdminset m_adminset;
	CString strSQL;
	UpdateData(TRUE);
	//检查用户是否输入用户名
	if(m_struser.IsEmpty())
	{
		AfxMessageBox("请输入用户名!");
		m_combousername.SetFocus();
		return;
	}
	//检查密码是否输入
	if(m_strpwd.IsEmpty())
	{
		AfxMessageBox("请输入密码!");
		m_editpwd.SetFocus();
		return;
	}
	//从admininfo表中检查用户名和密码是否错误
    strSQL.Format("select * from admininfo where User_ID='%s'AND Password='%s'",m_struser,m_strpwd);
	if(!m_adminset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);
		return;
	}
	CLibraryApp* theApp=(CLibraryApp*)AfxGetApp();
	theApp->m_stroperater=m_adminset.m_User_Name;
	if(m_adminset.GetRecordCount()==0)
	{
		m_adminset.Close();
		MessageBox("用户名或密码错误,请重新输入!");
		m_struser="";
		m_combousername.SetFocus();
		m_strpwd="";
		UpdateData(FALSE);
	}
	else
	{
		m_adminset.Close();
        CDialog::OnOK();
	}
	
}

BOOL CLoginDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
    CAdminset m_adminset;
	CString strSQL;
	UpdateData(TRUE);

	strSQL.Format("select * from admininfo");
	if(!m_adminset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox("打开数据库错误","数据库错误",MB_OK);
		return FALSE;
	}
	//向用户列表中添加用户
	while(!m_adminset.IsEOF())
	{
		m_combousername.AddString(m_adminset.m_User_ID);
		m_adminset.MoveNext();
	}
	m_adminset.Close();

    return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

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