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 ) ); } }
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 }
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); }