Progressbar如何应用于SQL的查询过程?(200)

  • 主题发起人 主题发起人 huamulan
  • 开始时间 开始时间
H

huamulan

Unregistered / Unconfirmed
GUEST, unregistred user!
做了一个数据库备份恢复的功能。ADOConnection1.Execute('Backup database ABC To Disk= D:/A1.MC''');ADOConnection1.Execute('Restore database XBMZ From Disk=D:/A2.mc');执行的过程非常慢,程序跟死机了一样。请问怎么做让这个过程用线程来开发?并且用Progressbar来监视进度?先谢谢帮忙的哥哥了。宁外弱弱的问一个问题,我开发的票据打印程序,直接用delphi6 自带的 QUICKREPORT 做的。可以直接用在EPSON LQ-630K 针式打印机上面么?
 
SQL Server吗一般这种备份都是用存储过程来实现的.而不是这样 写到程序中.用进度条最简单的就是让滚动条来回滚动就行了.因为无法知道什么时候备份完成.
 
进度条好像不行吧...没有进度回馈事件线程的话简单啊 创建个线程在线程里创建ADOConnection 然后执行就行了
 
两位的说法跟没有说一样。
 
参考http://support.microsoft.com/kb/194960
 
procedure TForm1.FormCreate(Sender: TObject);begin ADOQuery1.ExecuteOptions := [eoAsyncFetch];//设为异步读取end;//ADOQuery的OnFetchProgress事件procedure TForm1.ADOQuery1FetchProgress(DataSet: TCustomADODataSet; Progress, MaxProgress: Integer; var EventStatus: TEventStatus);begin ProgressBar1.Position := Progress; ProgressBar1.Max := MaxProgress;end;//ADOQuery的OnFetchComplete事件procedure TForm1.ADOQuery1FetchComplete(DataSet: TCustomADODataSet; const Error: Error; var EventStatus: TEventStatus);begin ProgressBar1.Position := ProgressBar1.Max;end;
 
楼上的兄台,你都没搞懂我在说什么就乱发贴。
 
SQL-DMO 进度条,搜索去吧。别人实现了。
 
最好用另外一个程序显示假进度,因为即使你写在线程中,CPU照样100%
 
我没看懂是我乱说,你没看懂我不想说什么,自己去研究异步查询吧
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部