// StudioInfo.h : CStudioInfo 类的实现 // CStudioInfo 实现 // 代码生成在 2016年10月27日, 11:44 #include "stdafx.h" #include "StudioInfo.h" IMPLEMENT_DYNAMIC(CStudioInfo, CRecordset) CStudioInfo::CStudioInfo(CDatabase* pdb) : CRecordset(pdb) { m_StudioID = _T(""); m_StudioName = _T(""); m_StudioAddress = _T(""); m_StudioWebSite = _T(""); m_StudioTelephone = _T(""); m_StudioOwner = _T(""); m_StudioOwnerphone = _T(""); m_StudioManager = _T(""); m_StudioManagerphone = _T(""); m_StudioQRCode; m_nFields = 10; m_nDefaultType = dynaset; } //#error 安全问题: 连接字符串可能包含密码。 // 此连接字符串中可能包含明文密码和/或其他重要 // 信息。请在查看完此连接字符串并找到所有与安全 // 有关的问题后移除 #error。可能需要将此密码存 // 储为其他格式或使用其他的用户身份验证。 CString CStudioInfo::GetDefaultConnect() { return _T("DSN=EasySelection;UID=sa;PWD=ly1234;APP=Microsoft\x00ae Visual Studio\x00ae 2015;WSID=IT-PC;DATABASE=EasySelection;"); } CString CStudioInfo::GetDefaultSQL() { return _T("[dbo].[StudioInfo]"); } void CStudioInfo::DoFieldExchange(CFieldExchange* pFX) { pFX->SetFieldType(CFieldExchange::outputColumn); // RFX_Text() 和 RFX_Int() 这类宏依赖的是 // 成员变量的类型,而不是数据库字段的类型。 // ODBC 尝试自动将列值转换为所请求的类型 RFX_Text(pFX, _T("[StudioID]"), m_StudioID); RFX_Text(pFX, _T("[StudioName]"), m_StudioName); RFX_Text(pFX, _T("[StudioAddress]"), m_StudioAddress); RFX_Text(pFX, _T("[StudioWebSite]"), m_StudioWebSite); RFX_Text(pFX, _T("[StudioTelephone]"), m_StudioTelephone); RFX_Text(pFX, _T("[StudioOwner]"), m_StudioOwner); RFX_Text(pFX, _T("[StudioOwnerphone]"), m_StudioOwnerphone); RFX_Text(pFX, _T("[StudioManager]"), m_StudioManager); RFX_Text(pFX, _T("[StudioManagerphone]"), m_StudioManagerphone); RFX_LongBinary(pFX, _T("[StudioQRCode]"), m_StudioQRCode); } ///////////////////////////////////////////////////////////////////////////// // CStudioInfo 诊断 #ifdef _DEBUG void CStudioInfo::AssertValid() const { CRecordset::AssertValid(); } void CStudioInfo::Dump(CDumpContext& dc) const { CRecordset::Dump(dc); } #endif //_DEBUG ////////////////////////////////////////////////////////////////////////// IMPLEMENT_SERIAL(CStudioInfoObj, CObject, 0) CStudioInfoObj::CStudioInfoObj() { m_StudioID = _T(""); m_StudioName = _T(""); m_StudioAddress = _T(""); m_StudioWebSite = _T(""); m_StudioTelephone = _T(""); m_StudioOwner = _T(""); m_StudioOwnerphone = _T(""); m_StudioManager = _T(""); m_StudioManagerphone = _T(""); } CStudioInfoObj& CStudioInfoObj::operator=(const CStudioInfoObj& member) { m_StudioID = member.m_StudioID; m_StudioName = member.m_StudioName; m_StudioAddress = member.m_StudioAddress; m_StudioWebSite = member.m_StudioWebSite; m_StudioTelephone = member.m_StudioTelephone; m_StudioOwner = member.m_StudioOwner; m_StudioOwnerphone = member.m_StudioOwnerphone; m_StudioManager = member.m_StudioManager; m_StudioManagerphone = member.m_StudioManagerphone; //m_StudioQRCode = member.m_StudioQRCode; CopyMemory(m_StudioQRCode.GetData(), member.m_StudioQRCode.GetData(), member.m_StudioQRCode.GetSize()); return *this; } void CStudioInfoObj::Serialize(CArchive& ar) { try { CObject::Serialize(ar); if (ar.IsStoring()) { ar << m_StudioID; ar << m_StudioName; ar << m_StudioAddress; ar << m_StudioWebSite; ar << m_StudioTelephone; ar << m_StudioOwner; ar << m_StudioOwnerphone; ar << m_StudioManager; ar << m_StudioManagerphone; } else { ar >> m_StudioID; ar >> m_StudioName; ar >> m_StudioAddress; ar >> m_StudioWebSite; ar >> m_StudioTelephone; ar >> m_StudioOwner; ar >> m_StudioOwnerphone; ar >> m_StudioManager; ar >> m_StudioManagerphone; } m_StudioQRCode.Serialize(ar); } catch (CMemoryException* e) { #if _DEBUG e->ReportError(); #endif } }