社区
数据库相关
帖子详情
一个关于数据库的问题。
settingsun
2002-07-06 11:11:39
连接到服务器进行数据查询,如何在这一段时间内用ProgressBar来进行时间的同步显示,即用ProgressBar来显示查询的进度。
望指教。
...全文
85
7
打赏
收藏
一个关于数据库的问题。
连接到服务器进行数据查询,如何在这一段时间内用ProgressBar来进行时间的同步显示,即用ProgressBar来显示查询的进度。 望指教。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
honey_001
2002-07-06
打赏
举报
回复
同意debussy(debussy)的说法.
debussy
2002-07-06
打赏
举报
回复
使用ADO的异步查询方式
对于较长时间执行的查询操作,可以使用异步方式
在查询过程中,ADO会以OnFetchProgress事件来通知应用程序正在处理
用OnFetchComplete事件来通知应用程序已经处理完毕
详细情况请参考李维《Delphi 5.x ADO/MTS/COM+高级程序设计》第110页,有非常详细的例子
crazyz
2002-07-06
打赏
举报
回复
定义一个progressBar的Form
unit ProgressForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ExtCtrls, StdCtrls;
type
TProgressFrm = class(TForm)
ProgressBar1: TProgressBar;
lblPrompt: TLabel;
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
procedure ProgressShow(aHint: string = '正在运行请等待');
procedure SetPos(aPos: extended; isOver: boolean);
procedure ProgressHide;
var
ProgressFrm: TProgressFrm;
FFormTop: integer;
implementation
{$R *.dfm}
{ TProgressFrm }
procedure ProgressShow(aHint: string = '正在运行请等待');
begin
if not Assigned(ProgressFrm) then
begin
ProgressFrm := TProgressFrm.Create(Application);
end;
setPos(1, False);
ProgressFrm.lblPrompt.Caption := aHint + '......';
progressFrm.Show;
ProgressFrm.Update;
Screen.Cursor := crHourGlass;
end;
procedure ProgressHide;
begin
SetPos(100, True);
end;
procedure SetPos(aPos: extended; isOver: boolean);
begin
progressFrm.ProgressBar1.Position := trunc(aPos);
ProgressFrm.ProgressBar1.Update;
//Application.ProcessMessages;
if IsOver then
begin
Screen.Cursor := crDefault;
ProgressFrm.Hide;
end;
end;
procedure TProgressFrm.FormActivate(Sender: TObject);
begin
SetWindowPos(ProgressFrm.handle, HWND_TOPMOST,
ProgressFrm.Left, ProgressFrm.Top, ProgressFrm.Width, ProgressFrm.Height, 0);
end;
procedure TProgressFrm.FormCreate(Sender: TObject);
begin
Top := trunc(Screen.Height / 3);
left := trunc((Screen.Width - Width) / 2);
end;
end.
在查询时先调用
ProgressShow
try
Setpos(recno/recordcount
finally
ProgressHide
end;
WnEunfn
2002-07-06
打赏
举报
回复
不可能的,因为查询所花时间未知……
robinhunter
2002-07-06
打赏
举报
回复
你的问题已经众多高手分析,结论是:此题无解 :(
settingsun
2002-07-06
打赏
举报
回复
怎么没人知道吗。
debussy
2002-07-06
打赏
举报
回复
使用ADO的异步查询方式
对于较长时间执行的查询操作,可以使用异步方式
在查询过程中,ADO会以OnFetchProgress事件来通知应用程序正在处理
用OnFetchComplete事件来通知应用程序已经处理完毕
详细情况请参考李维《Delphi 5.x ADO/MTS/COM+高级程序设计》第110页,有非常详细的例子
数据库
开发 维护 性能调优 备份还原 各种复杂
问题
的解决方案
数据库
开发 维护 性能调优 备份还原 各种复杂
问题
的解决方案 这时对CSDN上出现的很多
问题
的解决方案的总结 免费分享 大家多多下载哦
instantclient 11 2 轻量级
数据库
客户端(解决navicat连接
问题
)
为了解决navicat连接oracle报错的
问题
。
oracle11g官方中文帮助文档 高清完整版
oracle11g官方中文帮助文档,压缩文件。
MySQL_5.1_HTML_chapter.rar_详细手册(html版)
MySQL_5.1_HTML_chapter.rar_详细手册(html版),内容详细,主要部分:13. SQL语句语法、18. 分区、A.
问题
和常见错误
oracle培训PPT
某公司oracle培训PPT(很全面的)
数据库相关
2,507
社区成员
88,447
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章