s14_03set.cpp

来自「本书分为五个部分」· C++ 代码 · 共 95 行

CPP
95
字号
// S14_03Set.cpp : CS14_03Set 类的实现
//

#include "stdafx.h"
#include "S14_03.h"
#include "S14_03Set.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CS14_03Set 实现

// 代码生成在 2002年5月21日, 23:02

IMPLEMENT_DYNAMIC(CS14_03Set, CRecordset)

CS14_03Set::CS14_03Set(CDatabase* pdb)
	: CRecordset(pdb)
{
	m_ProductsProductID = 0;
	m_ProductsProductName = L"";
	m_ProductsSupplierID = 0;
	m_ProductsCategoryID = 0;
	m_ProductsQuantityPerUnit = L"";
	m_ProductsUnitPrice = 0.0;
	m_ProductsUnitsInStock = 0;
	m_ProductsUnitsOnOrder = 0;
	m_ProductsReorderLevel = 0;
	m_ProductsDiscontinued = FALSE;

	m_CategoriesCategoryID = 0;
	m_CategoriesCategoryName = L"";
	m_CategoriesDescription = "";
	m_CategoriesPicture;
	m_nFields = 14;
	m_nDefaultType = dynaset;
}
//#error Security Issue: The connection string may contain a password
// 此连接字符串中可能包含密码
// 下面的连接字符串中可能包含明文密码和/或
// 其他重要信息。请在查看完
// 此连接字符串并找到所有与安全有关的问题后移除 #error。可能需要
// 将此密码存储为其他格式或使用其他的用户身份验证。
CString CS14_03Set::GetDefaultConnect()
{
	return _T("DSN=ENorthwind;DBQ=E:\\Visual Studio Projects\\VC++.NET\\Database\\ENorthwind.mdb;DriverId=281;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;");
}

CString CS14_03Set::GetDefaultSQL()
{
	m_strFilter = "[Categories].CategoryID = [Products].CategoryID";
	return _T("[Categories],[Products]");
}

void CS14_03Set::DoFieldExchange(CFieldExchange* pFX)
{
	pFX->SetFieldType(CFieldExchange::outputColumn);
// RFX_Text() 和 RFX_Int() 这类宏依赖的是
// 成员变量的类型,而不是数据库字段的类型。
// ODBC 尝试自动将列值转换为所请求的类型
	RFX_Long(pFX, _T("[Products].[ProductID]"), m_ProductsProductID);
	RFX_Text(pFX, _T("[Products].[ProductName]"), m_ProductsProductName);
	RFX_Long(pFX, _T("[Products].[SupplierID]"), m_ProductsSupplierID);
	RFX_Long(pFX, _T("[Products].[CategoryID]"), m_ProductsCategoryID);
	RFX_Text(pFX, _T("[Products].[QuantityPerUnit]"), m_ProductsQuantityPerUnit);
	RFX_Double(pFX, _T("[Products].[UnitPrice]"), m_ProductsUnitPrice);
	RFX_Int(pFX, _T("[Products].[UnitsInStock]"), m_ProductsUnitsInStock);
	RFX_Int(pFX, _T("[Products].[UnitsOnOrder]"), m_ProductsUnitsOnOrder);
	RFX_Int(pFX, _T("[Products].[ReorderLevel]"), m_ProductsReorderLevel);
	RFX_Bool(pFX, _T("[Products].[Discontinued]"), m_ProductsDiscontinued);

	RFX_Long(pFX, _T("[Categories].[CategoryID]"), m_CategoriesCategoryID);
	RFX_Text(pFX, _T("[Categories].[CategoryName]"), m_CategoriesCategoryName);
	RFX_Text(pFX, _T("[Categories].[Description]"), m_CategoriesDescription);
	RFX_LongBinary(pFX, _T("[Categories].[Picture]"), m_CategoriesPicture);

}
/////////////////////////////////////////////////////////////////////////////
// CS14_03Set 诊断

#ifdef _DEBUG
void CS14_03Set::AssertValid() const
{
	CRecordset::AssertValid();
}

void CS14_03Set::Dump(CDumpContext& dc) const
{
	CRecordset::Dump(dc);
}
#endif //_DEBUG

⌨️ 快捷键说明

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