程序经常出现"RUNTIME ERROR"错误,但只要在代码中插入AfxMessageBox("")就不会出错了。不明白...

时间:2022-06-04 17:21:21
自己写了个程序,在正常情况下有70%的机率出现"RUNTIME ERROR"错误!
出错部份代码如下:
__________________________________________________________________________
// 写入各字段值
 AfxMessageBox("写入各字段值");
m_pRecordset->AddNew();
m_pRecordset->PutCollect("SoftName", _variant_t(m_Title));           //标题
m_pRecordset->PutCollect("Content", _variant_t(m_Content));          //简介
m_pRecordset->PutCollect("Language", _variant_t(m_Langue));          //语言
m_pRecordset->PutCollect("LicenceType", _variant_t(m_Freeclass));    //授权类型
m_pRecordset->PutCollect("RootID", strRootID);        //软件分类
m_pRecordset->PutCollect("SoftType", _variant_t(strCatalogName));       //软件分类
m_pRecordset->PutCollect("CatalogID", strCatalogID);                 //子分类
m_pRecordset->PutCollect("CatalogName", _variant_t(m_Softclass_sub));//子分类
m_pRecordset->PutCollect("System", _variant_t(m_Flat));              //运行环境
m_pRecordset->PutCollect("SoftSize", atol(m_Size));                  //软件大小
m_pRecordset->PutCollect("SoftFrom", "www.budin.cn");                //出处
m_pRecordset->PutCollect("Rank", "3");                               //星级
m_pRecordset->PutCollect("SoftTime", _variant_t(str_utime));         //更新时间
m_pRecordset->PutCollect("DayDate", _variant_t(str_utime));
m_pRecordset->PutCollect("WeekDate", _variant_t(str_utime));
m_pRecordset->PutCollect("MonthDate", _variant_t(str_utime));
m_pRecordset->PutCollect("AllHits", "3");
m_pRecordset->PutCollect("isShow", "1");m_pRecordset->PutCollect("avgGrade", "50");
m_pRecordset->PutCollect("EssayNum", "0");
m_pRecordset->Update();
_______________________________________________________________________________
我不知道上面这段代码是不是真的有问题,但是我知道如果我在代码中的任何地方插入一句:AfxMessageBox("内容不限");  然后运行程序100%不会出错。只是每次运行到这儿都会弹个对话框出来烦人得很。 我实在搞不明白这是啥原因,求教大家了!

11 个解决方案

#1


"RUNTIME ERROR"是个什么错误啊
这个不具体
有错误号什么的

不懂什么意思

#2


是不是执行的时候需要一定的时间延时啊 
事件或者调用上的问题


猜的,不作答案,仅供参考

#3


没有错误号,我不知道怎么贴图就把内容打出来吧:

__________________________________________________________________________________
  Microsoft Visual C++ Runtime Library

          Runtime Error!
    
          Program:

          This application has requested the Runtime to terminate it in an unusal way.
          Please contact the application's support team for more information.
____________________________________________________________________________________

MS特色说的全是废话!

#4


我用了Sleep(1000); 但似乎不是很有效.

#5


你在你的数据库操作的地方加上try{} catch(_com_error& e){},看看到底是什么错误?

#6


还是这个错误, try{} catch(){}似乎没起作用

#7


是不是有另外的线程操作。
比如建立对话框。这样有时对话框未Create之前操作就会出问题

#8


CString类型的数据改成char[],试验下,我以前遇见过相似的错误,好像有的时候str会优化一下,记得www.vckbase.com上,杨老师....的几个错误上,说过这样的问题,你到www.vckbase.com上看看

#9


catch(...)呢?

#10


文章在vckbase.com的论坛精华的"编译调试与发行、VC开发环境"->"编译与调试技巧","杨老师最痛苦的BUG之xx,与大家分享",具体是之几,我忘记了,你找找

#11


问题虽没有彻底解决,但还是要谢谢大家,剩下的就该自己去钻研了!

#1


"RUNTIME ERROR"是个什么错误啊
这个不具体
有错误号什么的

不懂什么意思

#2


是不是执行的时候需要一定的时间延时啊 
事件或者调用上的问题


猜的,不作答案,仅供参考

#3


没有错误号,我不知道怎么贴图就把内容打出来吧:

__________________________________________________________________________________
  Microsoft Visual C++ Runtime Library

          Runtime Error!
    
          Program:

          This application has requested the Runtime to terminate it in an unusal way.
          Please contact the application's support team for more information.
____________________________________________________________________________________

MS特色说的全是废话!

#4


我用了Sleep(1000); 但似乎不是很有效.

#5


你在你的数据库操作的地方加上try{} catch(_com_error& e){},看看到底是什么错误?

#6


还是这个错误, try{} catch(){}似乎没起作用

#7


是不是有另外的线程操作。
比如建立对话框。这样有时对话框未Create之前操作就会出问题

#8


CString类型的数据改成char[],试验下,我以前遇见过相似的错误,好像有的时候str会优化一下,记得www.vckbase.com上,杨老师....的几个错误上,说过这样的问题,你到www.vckbase.com上看看

#9


catch(...)呢?

#10


文章在vckbase.com的论坛精华的"编译调试与发行、VC开发环境"->"编译与调试技巧","杨老师最痛苦的BUG之xx,与大家分享",具体是之几,我忘记了,你找找

#11


问题虽没有彻底解决,但还是要谢谢大家,剩下的就该自己去钻研了!