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

📄 user.cpp

📁 WinCE开发技巧与实例的配套源码
💻 CPP
字号:
// User.cpp: implementation of the CUser class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "SQLCEDemo.h"
#include "User.h"

#include "CEADO.h"

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CUser::CUser(CString strUser_Name, CEADORecordset* adoRs)
{
	if ( adoRs->Open(L" SELECT USERLIST.*, DATA_DICTIONARY.CONTENT AS REGION FROM USERLIST LEFT OUTER JOIN DATA_DICTIONARY ON USERLIST.REGION_ID = DATA_DICTIONARY.ID WHERE USERLIST.USER_NAME = '" + strUser_Name + L"' ")
		&& !(adoRs->IsRecordsetNULL()) )
	{

		m_nUser_ID = adoRs->GetFieldLongValue(L"user_id");
		m_nDep_ID = adoRs->GetFieldLongValue(L"dep_id");
		m_strEmp_Code = adoRs->GetFieldCStringValue(L"emp_code");
		m_strReal_Name = adoRs->GetFieldCStringValue(L"real_name");
		m_nPosition_ID = adoRs->GetFieldLongValue(L"position_id");
		m_nRole_ID = adoRs->GetFieldLongValue(L"role_id");
		m_strUser_Name = strUser_Name;
		m_strPassword = adoRs->GetFieldCStringValue(L"password");
		m_strMail_Address = adoRs->GetFieldCStringValue(L"mail_addr");
		m_nRegion_ID = adoRs->GetFieldLongValue(L"region_id");			
		m_strRegion = adoRs->GetFieldCStringValue(L"region");
	}	
}

CUser::CUser(int nID, CEADORecordset* adoRs)
{
	CString strSQL;
	strSQL.Format(L" SELECT USERLIST.*, DATA_DICTIONARY.CONTENT AS REGION FROM USERLIST LEFT OUTER JOIN DATA_DICTIONARY ON USERLIST.REGION_ID = DATA_DICTIONARY.ID WHERE USERLIST.USER_ID = %d", nID);
	if ( adoRs->Open(strSQL)
		&& !(adoRs->IsRecordsetNULL()) )
	{
		m_nUser_ID = nID;
		m_nDep_ID = adoRs->GetFieldLongValue(L"dep_id");
		m_strEmp_Code = adoRs->GetFieldCStringValue(L"emp_code");
		m_strReal_Name = adoRs->GetFieldCStringValue(L"real_name");
		m_nPosition_ID = adoRs->GetFieldLongValue(L"position_id");
		m_nRole_ID = adoRs->GetFieldLongValue(L"role_id");
		m_strUser_Name = adoRs->GetFieldCStringValue(L"user_name");
		m_strPassword = adoRs->GetFieldCStringValue(L"password");
		m_strMail_Address = adoRs->GetFieldCStringValue(L"mail_addr");
		m_nRegion_ID = adoRs->GetFieldLongValue(L"region_id");			
		m_strRegion = adoRs->GetFieldCStringValue(L"region");
	}	
}

CUser::~CUser()
{
}

int CUser::VerifyUser(CString strUserName, CString strPass, CEADORecordset *adoRs)
{
/*
	if (( adoRs->Open(_T(" SELECT * FROM Userlist WHERE USER_NAME = '") + strUserName + _T("' AND PASSWORD = '") + strPass + _T("' "))) 
		&& !(adoRs->IsFirst() && adoRs->IsLast())   )
		return true;
	else
		return false;
*/
	CString strSQL;
	strSQL.Format(L"SELECT * FROM USERLIST WHERE USER_NAME = '%s'", strUserName);
	if (adoRs->OpenEx(strSQL) == 1)
	{
		if (!(adoRs->IsRecordsetNULL()))
		{
			strSQL.Format(L"SELECT * FROM USERLIST WHERE USER_NAME = '%s' AND PASSWORD = '%s'", strUserName, strPass);
			if ((adoRs->OpenEx(strSQL) == 1) &&
				!(adoRs->IsRecordsetNULL()))
			{
				return 1;	//成功
			}
			else
			{
				return -4;	//密码错误
			}			
		}
		return -1;	//用户名不存在
	}
	else if (adoRs->OpenEx(strSQL) == -1)
	{
		return -2;	//一般错误
	} 
	else if (adoRs->OpenEx(strSQL) == -2)
	{
		return -3;	//表错误
	}
	else
	{
		return 0;	//未知错误
	}

}

//返回-1表示用户名不对
int CUser::GetUserID(CString strUserName, CEADORecordset *adoRs)
{
	if (( adoRs->Open(_T(" SELECT user_id FROM USERLIST WHERE USER_NAME = '") + strUserName + _T("' "))) 
		&& !(adoRs->IsFirst() && adoRs->IsLast())   )
		return adoRs->GetFieldLongValue(L"user_id");
	else
		return -1;	
}

⌨️ 快捷键说明

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