0

我对 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()挂起,但我无法(无论如何以我目前的技能)想办法解决这个问题。

有没有人有类似的问题,或任何形式的见解?

4

2 回答 2

0

有一个共享内存问题...修复了一个事件对象适当地发出信号。还有乌鸦的热气腾腾的帮助。可口!

于 2012-09-18T19:30:31.113 回答
0

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

值得启动 SQL Profiler 并查看您的 Requery() 语句正在生成什么。

于 2012-09-18T12:00:56.587 回答