update字段错误
我有一个表,含有字段content (varchar 长1000),当content字段赋值超过300个char 会在update()时出错,请求帮助。 问题点数:20、回复次数:9Top
1 楼Haiwer(海阔天空)回复于 2002-03-20 14:42:11 得分 5
在哪里UPDATE的,查询分析器应该不会,可能是你的开发语言给皆短了。
Top
2 楼theng(手心忽然长出纠缠的曲线)回复于 2002-03-20 15:01:36 得分 5
是你的开发语言可能不支持提交太长的sql,不知你用的是什么?
如果是delphi,请用parameter方式,而不要拼接字符串。Top
3 楼fredfei(飞飞)回复于 2002-03-20 15:16:41 得分 5
各字段累计自用字节数超过8k?Top
4 楼zhuzhichao(竹之草)回复于 2002-03-20 15:27:01 得分 5
你前台用的是pb吧.Top
5 楼ss1ss(优点)回复于 2002-03-20 15:55:40 得分 0
sorry,我用的是CRecordSet,update()是在程序中,报错是一个ASSERT error,内容是"Error: CString buffer (column %u) address has changed!\n",应该与该字段的长度有关,因为当content较短时程序正常。
谢谢各位。Top
6 楼ss1ss(优点)回复于 2002-03-20 15:57:08 得分 0
奥,还有,我前台时sql server ,连接用odbc, 使用正常。Top
7 楼ss1ss(优点)回复于 2002-03-20 15:58:35 得分 0
奥,还有,我前台用sql server ,odbc连接,使用正常。Top
8 楼shsunyang(作孽)回复于 2002-03-20 20:23:56 得分 0
need up,so upTop
9 楼ss1ss(优点)回复于 2002-03-20 20:27:45 得分 0
请求帮忙。Top
10 楼ss1ss(优点)回复于 2002-03-21 21:49:14 得分 0
我已经知道答案了,在微软网站上察 RFX_Text nMaxLength。
解决:在长字段的RFX_Text的第四个参数填1000就可。
// BEFORE
void CMyRecordsSet::DoFieldExchange(CFieldExchange* pFX)
{
//{{AFX_FIELD_MAP(CTestRecords)
pFX->SetFieldType(CFieldExchange::outputColumn);
RFX_Text(pFX, _T("[UNITS]"), m_UNITS);
//}}AFX_FIELD_MAP
}
// AFTER
void CMyRecordsSet::DoFieldExchange(CFieldExchange* pFX)
{
//{{AFX_FIELD_MAP(CTestRecords)
pFX->SetFieldType(CFieldExchange::outputColumn);
RFX_Text(pFX, _T("[UNITS]"), m_UNITS, 1024);
//}}AFX_FIELD_MAP
}
谢谢各位。Top




