Sql语句如下:
Use Master
Alter Database Test Set Offline With Rollback Immediate
Restore Database Test From Disk='xxxxxx' With Replace
Alter Database Test Set Online With Rollback immediate用查询分析器执行时只需要1-2秒,
可是用DELPHI的ADOQuery做open操作的时候(execsql也是一样)
程序会假死十几秒才会有响应
请问这种情况正常吗?不正常的话应该怎么解决?另外,假死的时候我想弄个进度条忽悠一下,
这样是不是需要新加一个线程?

解决方案 »

  1.   

    ADOQuery的connectionstring连接的表示不是test,可能是你还原的时候ado的连接断开了,所以才没反应
    你运行这段sql的时候新建一个ADOQuery吧,并把它连接的表设为master由于ado运行时是独占的,所以要想有反应,就必须在线程里操作
      

  2.   

    尝试了一下,
    新增一个ADOQUERY也还是一样的情况
    还是很疑惑,同学同样的代码就不会出现这样的问题
    (因为是毕业设计,所以表结构的复杂程度类似)
    依然谢谢各位,发分