我遇到Visual C ++和Microsoft SQL Server 2008R2的问题。
以下代码偶尔会挂起:
Object->Update();
if(Object->CanRestart())
{
//Why does this not return??
m_pDBRoRBaseObject->Requery();
}
Object
源自CRecordset
。它看起来好像在::SQLExecute(m_hstmt)
方法中对Requery()
的调用是悬而未决的,但我不能(用我当前的技能设置)找到解决方法。
有没有人有类似的问题,或者有任何类型的见解?
答案 0 :(得分:0)
我似乎记得(很久很久以前)Requery - 至少使用某些数据库驱动程序 - 使用您已经收集的行的PK重建查询作为一个大的IN语句。这当然可能效率低下,具体取决于您的设置,指标,数据等等。
值得启动SQL事件探查器,看看你的Requery()语句到底产生了什么。
答案 1 :(得分:0)
有共享内存问题...已通过适当信号发送的事件对象修复。和一个热气腾腾的帮助乌鸦。可口!