Example #1
0
void CODBCRecordset::DoFieldExchange( CFieldExchange* pFX )
{
	pFX->SetFieldType( CFieldExchange::outputColumn );

	
	CString		cFieldName;
	for( UINT i = 0; i < m_nFields; i++ )
	{
		cFieldName.Format( "[%s]", GetFieldName(i) );
		switch( m_fields[i].m_dwType )
		{
		case	DBVT_NULL:
					break;
		case	DBVT_BOOL:
					RFX_Bool( pFX, cFieldName, m_fields[i].m_boolVal );
					break;
		case	DBVT_UCHAR:
					RFX_Byte( pFX, cFieldName, m_fields[i].m_chVal );
					break;
		case	DBVT_SHORT:
					//	CDBVariant::m_iVal is of type short
					//	RFX_Int() requires parameter of type int.
					//	Class wizard maps int variable in this case
					//	but CDBVariand does not have int member.
					m_fields[i].m_dwType = DBVT_LONG;
					RFX_Long( pFX, cFieldName, m_fields[i].m_lVal );
					break;
		case	DBVT_LONG:
					RFX_Long( pFX, cFieldName, m_fields[i].m_lVal );
					break;
		case	DBVT_SINGLE:
					RFX_Single( pFX, cFieldName, m_fields[i].m_fltVal );
					break;
		case	DBVT_DOUBLE:
					RFX_Double( pFX, cFieldName, m_fields[i].m_dblVal );
					break;
		case	DBVT_DATE:
					RFX_Date( pFX, cFieldName, *m_fields[i].m_pdate );
					break;
		case	DBVT_STRING:
				{
					CODBCFieldInfo	fi;
					GetODBCFieldInfo( i, fi );
					RFX_Text( pFX, cFieldName, *m_fields[i].m_pstring, fi.m_nPrecision );
					break;
				}
		case	DBVT_BINARY:
					RFX_LongBinary( pFX, cFieldName, *(m_fields[i].m_pbinary) );
					break;
		default:
			//	Unknown datatype
			ASSERT( FALSE );
		}
		m_fields[i].SetNull( FALSE != IsFieldStatusNull( i ) );
	}
}
Example #2
0
void CPhotoSet::DoFieldExchange(CFieldExchange* pFX)
{
	//{{AFX_FIELD_MAP(CPhotoSet)
	pFX->SetFieldType(CFieldExchange::outputColumn);
	RFX_Long(pFX, _T("[photo_id]"), m_photo_id);
	RFX_Long(pFX, _T("[photo_person_id]"), m_photo_person_id);
	RFX_Text(pFX, _T("[photo_title]"), m_photo_title);
	RFX_Text(pFX, _T("[photo_type]"), m_photo_type);
	RFX_LongBinary(pFX, _T("[photo_data]"), m_photo_data);
	//}}AFX_FIELD_MAP
}
Example #3
0
void Cadminnzjbxxb::DoFieldExchange(CFieldExchange* pFX)
{
	pFX->SetFieldType(CFieldExchange::outputColumn);
// RFX_Text() 和 RFX_Int() 这类宏依赖的是
// 成员变量的类型,而不是数据库字段的类型。
// ODBC 尝试自动将列值转换为所请求的类型
	RFX_Text(pFX, _T("[nzbh]"), m_nzbh);
	RFX_Long(pFX, _T("[zb]"), m_zb);
	RFX_Text(pFX, _T("[jbqbh]"), m_jbqbh);
	RFX_Text(pFX, _T("[mnbh]"), m_mnbh);
	RFX_Text(pFX, _T("[fnbh]"), m_fnbh);
	RFX_Double(pFX, _T("[cszl]"), m_cszl);
	RFX_Double(pFX, _T("[rczl]"), m_rczl);
	RFX_Text(pFX, _T("[pz]"), m_pz);
	RFX_Text(pFX, _T("[tzms]"), m_tzms);
	RFX_LongBinary(pFX, _T("[pic1]"), m_pic1);
	RFX_LongBinary(pFX, _T("[pic2]"), m_pic2);
	RFX_LongBinary(pFX, _T("[pic3]"), m_pic3);
	RFX_LongBinary(pFX, _T("[pic4]"), m_pic4);
	RFX_LongBinary(pFX, _T("[pic5]"), m_pic5);
	RFX_Text(pFX, _T("[bz]"), m_bz);

}