在哪里UPDATE的,查询分析器应该不会,可能是你的开发语言给皆短了。

解决方案 »

  1.   

    是你的开发语言可能不支持提交太长的sql,不知你用的是什么?
    如果是delphi,请用parameter方式,而不要拼接字符串。
      

  2.   

    sorry,我用的是CRecordSet,update()是在程序中,报错是一个ASSERT error,内容是"Error: CString buffer (column %u) address has changed!\n",应该与该字段的长度有关,因为当content较短时程序正常。
    谢谢各位。
      

  3.   

    奥,还有,我前台时sql server ,连接用odbc, 使用正常。
      

  4.   

    奥,还有,我前台用sql server ,odbc连接,使用正常。
      

  5.   

    我已经知道答案了,在微软网站上察 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
       }
    谢谢各位。