我的access中的表是这样的定义的:
word_num  数字
word_sWord 文本
word_lFreq 数字
word_bBit  文本当运行一下语句时:
m_pRecordset->AddNew();
m_pRecordset->PutCollect("word_num",_variant_t((long)j));
m_pRecordset->PutCollect("word_sWord",_variant_t("hello"));
m_pRecordset->PutCollect("word_lFreq",_variant_t((long)23));
m_pRecordset->PutCollect("word_bBit",_variant_t(seqArray[j].m_bit));
m_pRecordset->Update();//当运行到该句时出错说:Unhandled exception in zip.exe(KENRNEL32.DLL):OxEO6D7363:Microsoft C++ Exception请问是怎么回事?

解决方案 »

  1.   

    检查每个函数执行的返回值。
    利用try() catch来捕获异常。考虑数据库字段与程序代码类型的不匹配
      

  2.   

    我是新手,请问try() catch如何使用啊,据个简单的小例子就行.谢谢ggjj啦
      

  3.   

    try
    {
    }
    catch (XXX)  // XXX是指定你想捕获的异常
    {
    }
    catch (...) // ...捕获所有异常
    {
    }请查阅MSDN
      

  4.   

    谢谢楼上,基本调通,还有一小问m_pRecordset->PutCollect("word_sWord",_variant_t(wordArray[seqArray[j].m_lWordAddress].m_sWord));这样弄不可以吗?其中WordArray是这样类型的:CArray<WordType,WordType>wordArray;
      

  5.   

    _variant_t(wordArray[seqArray[j].m_lWordAddress].m_sWord)
    这个表达式看起来挺累的,书写风格有待提高:)
    看不出什么问题,不过最好对j和m_lWordAddress的实际有效范围作判断。