📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, Grids, DBGrids, ADODB, DBClient, Provider,
ComCtrls ,uDBaseIntf, ExtCtrls;
type
TForm1 = class(TForm, IGetDataProgress)
qry1: TADOQuery;
dbgrd1: TDBGrid;
ds1: TDataSource;
btnCreateComp: TButton;
pb1: TProgressBar;
btn2: TButton;
pnl1: TPanel;
pnl2: TPanel;
pnl3: TPanel;
btnRelease: TButton;
btnBindDBase: TButton;
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btnCreateCompClick(Sender: TObject);
procedure btnReleaseClick(Sender: TObject);
procedure btnBindDBaseClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
FSQL:string;
FADOQry:TADOQuery;
FDSP:TDataSetProvider;
FCds:TClientDataSet;
protected
procedure GetDataProgress(Min, Max, Current, PacketRecords:Integer);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btn1Click(Sender: TObject);
begin
qry1.Connection:=ADOConnection.GetADOConnection;
qry1.SQL.Text:=FSQL;
qry1.Active:=True;
end;
procedure TForm1.btn2Click(Sender: TObject);
begin
FADOQry.Close;
ds1.DataSet:=FADOQry;
FADOQry.SQL.Text:=FSQL;
FADOQry.Open;
end;
procedure TForm1.btnCreateCompClick(Sender: TObject);
{描述:动态创建数据组件
}
begin
FADOQry:=TADOQuery.Create(Self);
FDSP:=TDataSetProvider.Create(Self);
FCds:=TClientDataSet.Create(Self);
FADOQry.Connection:=ADOConnection.GetADOConnection;
FDSP.DataSet:=FADOQry;
FCds.SetProvider(FDSP);
ds1.DataSet:=FCds;
btnBindDBase.Enabled:=True;
btnRelease.Enabled:=True;
btnCreateComp.Enabled:=False;
end;
procedure TForm1.GetDataProgress(Min, Max, Current,
PacketRecords: Integer);
begin
pb1.Min:=0;
pb1.Max:=Max;
pb1.Position:=Max div Current*100;
pb1.Update;
Application.ProcessMessages;
end;
procedure TForm1.btnReleaseClick(Sender: TObject);
begin
FreeAndNil(FCDS);
FreeAndNil(FDSp);
FreeAndNil(FADOQry);
btnBindDBase.Enabled:=False;
btnCreateComp.Enabled:=True;
end;
procedure TForm1.btnBindDBaseClick(Sender: TObject);
var
rsDBase:IDBase;
begin
ds1.DataSet:=FCds;
rsDBase:=DBase;
rsDBase.GetDataProgress(GetDataProgress);
FCds.Data:=rsDBase.GetData(FSQL);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FSQL:='SELECT * FROM sysColumns';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -