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

More by Author

Must Read