1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
void FaceserverUser::DoFieldExchange( CFieldExchange* pFX ) { pFX->SetFieldType( CFieldExchange::outputColumn ); // RFX_Text() 和 RFX_Int() 这类宏依赖的是 // 成员变量的类型,而不是数据库字段的类型。 // ODBC 尝试自动将列值转换为所请求的类型 RFX_Long( pFX , _T( "[userId]" ) , m_userId ); RFX_Text( pFX , _T( "[userName]" ) , m_userName ); RFX_Long( pFX , _T( "[userType]" ) , m_userType ); RFX_Text( pFX , _T( "[cardNo]" ) , m_cardNo ); RFX_Long( pFX , _T( "[featureLen]" ) , m_featureLen ); RFX_Text( pFX , _T( "[base64FeatureData]" ) , m_base64FeatureData , 20000 , SQL_LONGVARCHAR ); RFX_Long( pFX , _T( "[photoLen]" ) , m_photoLen ); RFX_Text( pFX , _T( "[base64PhotoData]" ) , m_base64PhotoData , 20000 , SQL_LONGVARCHAR ); } |
以上是自动生成的代码修改过后的结果。
修改原因 :链接数据仓库传递数据的时候,RFX_TEXT默认只能传递255个数据,所以需要自己修改…
CRecordset 使用 Update() 函数的时候报错,可能就是因为能够传递的数据量太少…
【MFC】Link SQL RFX_TEXT 可能出现的问题