SQL Server Requery()有时会挂起

时间:2012-09-17 21:35:43

标签: c++ sql-server visual-c++ sql-server-2008-r2

我遇到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()的调用是悬而未决的,但我不能(用我当前的技能设置)找到解决方法。

有没有人有类似的问题,或者有任何类型的见解?

2 个答案:

答案 0 :(得分:0)

我似乎记得(很久很久以前)Requery - 至少使用某些数据库驱动程序 - 使用您已经收集的行的PK重建查询作为一个大的IN语句。这当然可能效率低下,具体取决于您的设置,指标,数据等等。

值得启动SQL事件探查器,看看你的Requery()语句到底产生了什么。

答案 1 :(得分:0)

有共享内存问题...已通过适当信号发送的事件对象修复。和一个热气腾腾的帮助乌鸦。可口!