// UserInfo.h : CUserInfo 类的实现 // CUserInfo 实现 // 代码生成在 2016年9月20日, 18:01 #include "stdafx.h" #include "UserInfo.h" IMPLEMENT_DYNAMIC(CUserInfo, CRecordset) CUserInfo::CUserInfo(CDatabase* pdb) : CRecordset(pdb) { m_AutoID = 0; m_StudioID = _T(""); m_StaffSN = _T(""); m_UserAccount = _T(""); m_UserPassword = _T(""); m_UserNickName = _T(""); m_UserLevel = 0; m_UserRights = _T(""); m_UserOnelineStatus = 0; m_UserEnable = FALSE; m_nFields = 10; m_nDefaultType = dynaset; } // #error 安全问题:连接字符串可能包含密码。 // 此连接字符串中可能包含明文密码和/或其他重要 // 信息。请在查看完此连接字符串并找到所有与安全 // 有关的问题后移除 #error。可能需要将此密码存 // 储为其他格式或使用其他的用户身份验证。 CString CUserInfo::GetDefaultConnect() { return _T("DSN=EasySelection;Description=EasySelection;UID=sa;PWD=ly1234;APP=Microsoft\x00ae Visual Studio\x00ae 2010;WSID=IT-PC;DATABASE=EasySelection;"); } CString CUserInfo::GetDefaultSQL() { return _T("[dbo].[UserInfo]"); } void CUserInfo::DoFieldExchange(CFieldExchange* pFX) { pFX->SetFieldType(CFieldExchange::outputColumn); // RFX_Text() 和 RFX_Int() 这类宏依赖的是 // 成员变量的类型,而不是数据库字段的类型。 // ODBC 尝试自动将列值转换为所请求的类型 RFX_Long(pFX, _T("[AutoID]"), m_AutoID); RFX_Text(pFX, _T("[StudioID]"), m_StudioID); RFX_Text(pFX, _T("[StaffSN]"), m_StaffSN); RFX_Text(pFX, _T("[UserAccount]"), m_UserAccount); RFX_Text(pFX, _T("[UserPassword]"), m_UserPassword); RFX_Text(pFX, _T("[UserNickName]"), m_UserNickName); RFX_Byte(pFX, _T("[UserLevel]"), m_UserLevel); RFX_Text(pFX, _T("[UserRights]"), m_UserRights); RFX_Byte(pFX, _T("[UserOnelineStatus]"), m_UserOnelineStatus); RFX_Bool(pFX, _T("[UserEnable]"), m_UserEnable); } ///////////////////////////////////////////////////////////////////////////// // CUserInfo 诊断 #ifdef _DEBUG void CUserInfo::AssertValid() const { CRecordset::AssertValid(); } void CUserInfo::Dump(CDumpContext& dc) const { CRecordset::Dump(dc); } #endif //_DEBUG CUserInfo& CUserInfo::operator=(CUserInfo& member) { m_AutoID = member.m_AutoID; m_StudioID = member.m_StudioID; m_StaffSN = member.m_StaffSN; m_UserAccount = member.m_UserAccount; m_UserPassword = member.m_UserPassword; m_UserNickName = member.m_UserNickName; m_UserLevel = member.m_UserLevel; m_UserRights = member.m_UserRights; m_UserOnelineStatus = member.m_UserOnelineStatus; m_UserEnable = member.m_UserEnable; return *this; } void CUserInfo::Serialize(CArchive& ar) { CObject::Serialize(ar); if( ar.IsStoring() ) { ar << m_AutoID; ar << m_StudioID; ar << m_StaffSN; ar << m_UserAccount; ar << m_UserPassword; ar << m_UserNickName; ar << m_UserLevel; ar << m_UserRights; ar << m_UserOnelineStatus; ar << m_UserEnable; } else { ar >> m_AutoID; ar >> m_StudioID; ar >> m_StaffSN; ar >> m_UserAccount; ar >> m_UserPassword; ar >> m_UserNickName; ar >> m_UserLevel; ar >> m_UserRights; ar >> m_UserOnelineStatus; ar >> m_UserEnable; } } ////////////////////////////////////////////////////////////////////////// IMPLEMENT_SERIAL(CUserInfoObj, CObject, 0) CUserInfoObj::CUserInfoObj() { m_AutoID = 0; m_StudioID = _T(""); m_StaffSN = _T(""); m_UserAccount = _T(""); m_UserPassword = _T(""); m_UserNickName = _T(""); m_UserLevel = 0; m_UserRights = _T(""); m_UserOnelineStatus = 0; m_UserEnable = FALSE; } CUserInfoObj& CUserInfoObj::operator=(const CUserInfoObj& member) { m_AutoID = member.m_AutoID; m_StudioID = member.m_StudioID; m_StaffSN = member.m_StaffSN; m_UserAccount = member.m_UserAccount; m_UserPassword = member.m_UserPassword; m_UserNickName = member.m_UserNickName; m_UserLevel = member.m_UserLevel; m_UserRights = member.m_UserRights; m_UserOnelineStatus = member.m_UserOnelineStatus; m_UserEnable = member.m_UserEnable; return *this; } void CUserInfoObj::Serialize(CArchive& ar) { try { CObject::Serialize(ar); if( ar.IsStoring() ) { ar << m_AutoID; ar << m_StudioID; ar << m_StaffSN; ar << m_UserAccount; ar << m_UserPassword; ar << m_UserNickName; ar << m_UserLevel; ar << m_UserRights; ar << m_UserOnelineStatus; ar << m_UserEnable; } else { ar >> m_AutoID; ar >> m_StudioID; ar >> m_StaffSN; ar >> m_UserAccount; ar >> m_UserPassword; ar >> m_UserNickName; ar >> m_UserLevel; ar >> m_UserRights; ar >> m_UserOnelineStatus; ar >> m_UserEnable; } } catch (CMemoryException* e) { #if _DEBUG e->ReportError(); #endif } }