在VC6中编程连接数据库时,数据库在转换后,编译的时候不会出错,但是运行是就会出现“数据被截断”的错误。
这个错误的原因主要是数据库中某个或者某些字段的值太长了。比如access中有个备注类型,那么当用odbc连接数据库,用IDC_EDIT控件绑定m_pSet变量值后,就可能出现这个错误。
解决的办法,就是在VC6中数据绑定定义的地方设置一下数据的长度。
在CSet类中,找到DoFieldExchange函数,会看到以RFX_Text开头的很多函数,这个主要是将数据库中的字段值和变量相关联。找到那些你认为字段值很长的字段,比如文章数据库中的文章内容字段,做如下修改。
将RFX_Text(pFX, _T("[ArticleContent]"), m_ArticleContent);改为:
RFX_Text(pFX, _T("[ArticleContent]"), m_ArticleContent,65000);
第四个参数是定义变量长度的。这样修改好后就没有问题了。