当你在调用_RecordsetPtr某个方法的时候?出现异常
这时候它处于什么样的状态中?
比如
当调用_RecordsetPtr->update()?
这个时候网络正好断了?
这个时候_RecordsetPtr抛出异常?
但是它并没有处于一个良好的状态下:
close无法调用?
重新open也不行??
这时候因改如何处理呢???
这时候它处于什么样的状态中?
比如
当调用_RecordsetPtr->update()?
这个时候网络正好断了?
这个时候_RecordsetPtr抛出异常?
但是它并没有处于一个良好的状态下:
close无法调用?
重新open也不行??
这时候因改如何处理呢???
解决方案 »
- dbf类访问2Gb以上的dbf文件实例
- 关于文件的存储问题,谢谢啦
- 请教一个使用StretchDIBits时遇到的问题
- 向recordset添加记录时,如何让记录ID自增
- 用EVC编好后的程序,怎么运行?
- 如何动态分配一个2维数组?
- [Win32界面]Win32 API创建一个Edit的控件。。。
- 我想问一下在对话框里画网络拓扑图用什么控件好啊?
- 程序为什么会在运行两天后越来越慢?(分数不高,但我只有这么多了!)
- 图标问题!请大虾捧场
- consol application with mfc to solve the problem of CSocket?
- 在c++中,如何调用用c写的库函数,我用extern "c" ,报重复定义错误。
我想问的是,这个时候,本地的_RecordsetPtr
好像已经崩溃,更本无法使用
连close命令都不行。
难道只能 _RecordsetPtr=NULL,彻底释放com接口,
重新创建???
这样如何:
catch(_com_error& e)
{
....
}
catch(...)
{
m_pRs.Release();
m_pRs=NULL;
InitConnections();//初始化_ConnectionPtr,然后处理m_pRs
}
我们就必须重新创建RecordsetPtr
连接,等等一些列烦人的事情!
不知道那位懂java的,告知一下,jdbc是不是也是如此???
也就是说,看看回来的错误是什么而决定是否重新连接
所以
catch(_com_error& e)
{
....
}
中调用Close就可以了
_RecordsetPtr->close();
将导致内存访问违规!程序崩溃!
pRecordset->Close()
是不是这样的!