Solving the ODBC "Data Truncated" Error 

 

When you derive a class from CRecordset, the default maximum length assigned by the AppWizard for a string or array during a transfer is 255. A "Data Truncated" error is displayed whenever you attempt to transfer records with fields bigger than that. 

To solve the problem, specify the length required as the fourth parameter of the RFX_Text() function in the AFX_FIELD_MAP section of your CRecordset derived class method file. The maximum length you can set it to is INT_MAX (2147483647) which is the maximum length of a CString object. 

The source below shows the COST_INFO and BENEFITS columns of the table accessed being assigned a maximum length of 1000 characters each. 

//{{AFX_FIELD_MAP(CProjectsSet)

RFX_Text(pFX, _T("[COST_INFO]"), m_COST_INFO, 1000);

RFX_Text(pFX, _T("[BENEFITS]"), m_BENEFITS, 1000);

//}}AFX_FIELD_MAP

Date Posted: December 31, 1998