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

📄 syslogindlg.cpp

📁 客户端服务器源码
💻 CPP
字号:
// SysLogInDlg.cpp : implementation file
//

#include "stdafx.h"
#include "clientmain.h"
#include "SysLogInDlg.h"

#include <string>
#include <iostream>

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


using namespace std;
//IADOTierPtr	g_pAdoServer;
IPos_ADOPtr	g_pAdoServer;
/////////////////////////////////////////////////////////////////////////////
// CSysLogInDlg dialog


CSysLogInDlg::CSysLogInDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSysLogInDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSysLogInDlg)
	m_strUserName = _T("");
	m_strUserPsw = _T("");
	//}}AFX_DATA_INIT
}


void CSysLogInDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSysLogInDlg)
	DDX_Control(pDX, ID_LOGOK, m_ctlBtnOk);
	DDX_Control(pDX, IDC_EDIT_USERPSW, m_ctlPsw);
	DDX_Control(pDX, IDC_EDIT_USERNAME, m_ctlName);
	DDX_Text(pDX, IDC_EDIT_USERNAME, m_strUserName);
	DDX_Text(pDX, IDC_EDIT_USERPSW, m_strUserPsw);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSysLogInDlg, CDialog)
	//{{AFX_MSG_MAP(CSysLogInDlg)
	ON_BN_CLICKED(ID_LOGOK, OnLogok)
	ON_BN_CLICKED(ID_LOGCANCEL, OnLogcancel)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSysLogInDlg message handlers

void CSysLogInDlg::OnOK() 
{
	// TODO: Add extra validation here
	
	//CDialog::OnOK();
}

void CSysLogInDlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	
	//CDialog::OnCancel();
}

void CSysLogInDlg::OnLogok() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);

	//CString strName;
	//CString strPsw;
	CString strSql;

	HRESULT hr;
	
	if(m_strUserName =="")
	{
		MessageBox("用户名不能为空!", NULL, MB_OK);
		m_ctlName.SetFocus();
		m_ctlName.SetSel(0, -1);
		return;
	}

	strSql = "Select * from T_Users where Name = '" + m_strUserName
		+"' and Password = '" + m_strUserPsw +"'";
	
	_bstr_t bstrSql(strSql);
	hr = g_pAdoServer->OpenRecordset(bstrSql);
	if(!SUCCEEDED(hr))
	{
		MessageBox("打开记录集失败!", "Client Error:", MB_OK);
		return;
	}

	VARIANT_BOOL bEmpty;
	hr = g_pAdoServer->get_Empty(&bEmpty);

	if(bEmpty)
	{
		MessageBox("用户或密码输入不正确,请重新输入!", "Client Error:", MB_OK);
		m_ctlName.SetFocus();
		m_ctlName.SetSel(0, -1);
		// 注意,必须关闭记录集后,才能重新执行打开,否则将出错
		g_pAdoServer->CloseRecordset();
		return;
	}

	string strName;
	string strPsw;
	string strUserType;
	
	strName = (_bstr_t)g_pAdoServer->Field["Name"];
	strPsw = (_bstr_t)g_pAdoServer->Field["Password"];
	strUserType = (_bstr_t)g_pAdoServer->Field["UserType"];

	g_strUserName = strName.c_str();
	g_strUserName.TrimLeft();
	g_strUserName.TrimRight();

	g_strUserPsw = strPsw.c_str();
	g_strUserPsw.TrimLeft();
	g_strUserPsw.TrimRight();

	g_strUserType = strUserType.c_str();
	g_strUserType.TrimLeft();
	g_strUserType.TrimRight();

	CDialog::OnOK();
}

BOOL CSysLogInDlg::PreTranslateMessage(MSG* pMsg) 
{
	// TODO: Add your specialized code here and/or call the base class
		
	if(pMsg->message == WM_KEYDOWN)
	{
		if(pMsg->wParam == VK_RETURN)
		{
			//CEdit *pEdit=(CEdit*)GetDlgItem(IDC_EDIT_USERNAME);
			if(pMsg->hwnd == m_ctlName.GetSafeHwnd())
			{				
				m_ctlPsw.SetFocus();
				m_ctlPsw.SetSel(0, -1);
				return FALSE;
			}
			if(pMsg->hwnd == m_ctlPsw.GetSafeHwnd())
			{				
				m_ctlBtnOk.SetFocus();
				return FALSE;
			}	
		}
	}
	
	return CDialog::PreTranslateMessage(pMsg);
}

void CSysLogInDlg::OnLogcancel() 
{
	// TODO: Add your control notification handler code here
	CDialog::OnCancel();
}

BOOL CSysLogInDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	// 为对话框添加图标
	HICON  hIcon = AfxGetApp()->LoadIcon(IDI_DLGICON);
	ASSERT(hIcon != NULL);

	
	SetIcon(hIcon, TRUE);

	m_ctlName.SetFocus();

	return FALSE;  // 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 + -