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

📄 dlglogin.cpp

📁 本系统功能主要有两大块组成:前台销售管理功能和后台数据管理功能。 前台销售管理系统,包括:开单
💻 CPP
字号:
// DlgLogin.cpp : implementation file
//

#include "stdafx.h"
#include "Lhj_cyglxt.h"
#include "DlgLogin.h"
#include "DlgAdmin.h"
#include "Lhj_cyglxtDlg.h"


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

/////////////////////////////////////////////////////////////////////////////
// CDlgLogin dialog
extern CDatabase m_db;
CString username;//记录登录系统的使用者   作为结帐人


CDlgLogin::CDlgLogin(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgLogin::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgLogin)
	m_password = _T("");
	//}}AFX_DATA_INIT
}


void CDlgLogin::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgLogin)
	DDX_Control(pDX, IDC_COMBO_name, m_loginname);
	DDX_Text(pDX, IDC_EDIT_password, m_password);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgLogin, CDialog)
	//{{AFX_MSG_MAP(CDlgLogin)
	ON_BN_CLICKED(IDC_RADIO_status0, OnRADIOstatus0)
	ON_BN_CLICKED(IDC_RADIO_status1, OnRADIOstatus1)
	ON_BN_CLICKED(IDC_BUTTON_ToAdmin, OnBUTTONToAdmin)

	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgLogin message handlers

BOOL CDlgLogin::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	
	ConnectDB();//连接数据源

	//IDC_RADIO_status0.Checked=true;
	//OnRADIOstatus0();//..................................
	status=0;
	//读出数据库中的用户名,显示在控件中。
	
	TRY
	{
		CRecordset rs(&m_db);
		CString sql="select user_loginname from users_infor ";
		rs.Open(CRecordset::dynaset, sql,CRecordset::readOnly);//动态集
		CString loginname;
		//m_loginname.AddString("11111111");
		while (!rs.IsEOF()) 
		{ 
		   rs.GetFieldValue((short)0,loginname);
		   m_loginname.AddString(loginname);
		   rs.MoveNext();
		}
		m_loginname.SetWindowText("lhj");
		rs.Close();
	}
	CATCH(CDBException,ex)
	{
		AfxMessageBox ("db open failed!");
		AfxMessageBox (ex->m_strError);
		AfxMessageBox (ex->m_strStateNativeOrigin);		
	}
	AND_CATCH(CMemoryException,pEx)
	{
		pEx->ReportError();
		AfxMessageBox ("memory exception");
	}
	AND_CATCH(CException,e)
	{
		TCHAR szError[100];
		e->GetErrorMessage(szError,100);
		AfxMessageBox (szError);
	}
	END_CATCH
	UpdateData(FALSE);


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

void CDlgLogin::ConnectDB()
{
	//打开数据库的连接,并且捕获异常
	CString strConnect,m_DSN="Lhj_cyglxt",m_usrName="lhj",m_key="lhj";
	strConnect.Format("DSN=%s;UID=%s;PWD=%s",m_DSN,m_usrName,m_key);
	TRY
	{
		m_db.OpenEx(strConnect,CDatabase::noOdbcDialog);
	}
	CATCH(CDBException,ex)
	{
		AfxMessageBox ("db open failed!");
		AfxMessageBox (ex->m_strError);
		AfxMessageBox (ex->m_strStateNativeOrigin);		
	}
	AND_CATCH(CMemoryException,pEx)
	{
		pEx->ReportError();
		AfxMessageBox ("memory exception");
	}
	AND_CATCH(CException,e)
	{
		TCHAR szError[100];
		e->GetErrorMessage(szError,100);
		AfxMessageBox (szError);
	}
	END_CATCH

}

void CDlgLogin::OnRADIOstatus0() 
{
	// TODO: Add your control notification handler code here
	status=0;
}

void CDlgLogin::OnRADIOstatus1() 
{
	// TODO: Add your control notification handler code here
	status=1;
}

void CDlgLogin::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData(TRUE);
	CString name;
	m_loginname.GetWindowText(name);
	if(m_password.IsEmpty())
	{	
		AfxMessageBox("请输入用户名和密码!");	
		return;
	}
	else
		//if user enter name and password.
	{
		//成生sql语句
			CRecordset rs(&m_db);
			CString sql="select user_loginname,user_loginpwd from users_infor where user_loginname='"+name+"'and user_loginpwd='"+m_password+"' ";
			rs.Open(CRecordset::dynaset, sql);
			if (rs.IsEOF())
			{
				AfxMessageBox ("输入的用户名或密码错误!");
				return;
			}
			rs.Close();
			m_loginname.GetWindowText(username);
	}
	
	CDialog::OnOK();
}

void CDlgLogin::OnBUTTONToAdmin() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	CString name;
	m_loginname.GetWindowText(name);
	if(m_password.IsEmpty())
	{	
		AfxMessageBox("请输入用户名和密码!");	
		return;
	}
	else
		//if user enter name and password.
	{
		//成生sql语句
			CRecordset rs(&m_db);
			CString sql="select user_loginname,user_loginpwd from users_infor where user_loginname='"+name+"'and user_loginpwd='"+m_password+"'and user_status='1' ";
			rs.Open(CRecordset::dynaset, sql);
			if (rs.IsEOF())
			{
				AfxMessageBox ("输入的用户名或密码错误,或您没有权限访问!");
				rs.Close();
				return;
			}
			else
			{
				CDlgAdmin dlgadmin;
				dlgadmin.DoModal();
			}
			
	}
	
}

⌨️ 快捷键说明

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