logindlg.cpp

来自「自己编写的迷你图书馆的完整程序.VC6MFC编写的,Windows界面.数据采用」· C++ 代码 · 共 78 行

CPP
78
字号
// LoginDlg.cpp : implementation file
//

#include "stdafx.h"
#include "BookLib.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
	
	CString sql;
	sql.Format("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=BookLib;Data Source=.");
	g_adoDB.Open(sql);	//连接数据库
}


void CLoginDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CLoginDlg)
	DDX_Text(pDX, IDC_EDIT_PWD, m_strPwd);
	DDV_MaxChars(pDX, m_strPwd, 20);
	DDX_Text(pDX, IDC_EDIT_USER, m_strUser);
	DDV_MaxChars(pDX, m_strUser, 10);
	//}}AFX_DATA_MAP
}


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

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

void CLoginDlg::OnOK() 
{
	if(!UpdateData()) return;
	if(m_strUser=="")
	{
		MessageBox("请输入用户名","登录");
		return;
	}
	if(m_strPwd=="")
	{
		MessageBox("请输入密码","登录");
		return;
	}

	CString sql;
	sql.Format("select 级别 from 用户表 where userID='"+m_strUser+"' and 密码='"+m_strPwd+"'");
	g_adoDB.ExecuteQueryValue(sql,strUserLevel);
	if(strUserLevel.IsEmpty())	//如果不存在
	{
		MessageBox("用户名或密码错误!","登录");
		return;
	}

	strUserName=m_strUser;//保存登录用户名,注:上面的查询中已保存了用户级别
	CDialog::OnOK();
}

⌨️ 快捷键说明

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