这里有篇贴子,希望大家看看,并给我一些帮助。
http://expert.csdn.net/Expert/topic/2028/2028285.xml另外,我提问用的分数不多了,谁能给个几千分?这是我第一次试用VC++做数据库程序,以前用过VC++写应用程序、也用过Mysql做数据库,但是从来没有将两者结合起来,这是第一次,其中遇到了很多问题,感谢CSDN里面热心的前辈给出了解答。问题大多都属于简单级别,但是如果没有做过,却很难知道是什么原因引起了这些问题,因而总结了几个个人认为应该注意的地方,一方面做总结、另一方面也希望能给他人一些帮助。问题:无法写入255以上的字节。这是讨论的比较激烈的一篇贴子,大多数人都给出了不同的解决途径,但是最后却没想到竟然很轻松的解决了。问题是这样的:我用ODBC数据源连接到一个包含有TEXT字段的MDB文件中,之后用VC++做了一个窗口,里面有EDIT控件,点击“确定”,将EDIT控件中的内容用下面方法写入MDB:if(CreateDlg.DoModal()==IDOK) {
m_pSet->AddNew();
m_pSet.m_text=CreateDlg.m_cEdit1;
m_pSet->Update();
m_pSet->Requery();
}但是问题来了:如果m_cEdit1的字符串长度大于255字节,程序会报错终止。有人说可能是大字段问题、有人说是TEXT类型不适合、有人说是m_cEdit1最多只能容纳255字节……最后得出结论:m_cEdit1最多只能容纳255字节,解决办法非常简单,找到m_cEdit1与m_text交换数据的地方,更改成如下:更改前:RFX_Text(pFX, _T("[text]"), m_text);
更改后:RFX_Text(pFX, _T("[text]"), m_text, 20000);这样就可以写入更多的内容了,不过值得注意,对于“大字段”还是应该是用大字段写入方法,大约400-500K以上的长度应该视为“大字段”了。