⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 SQL封装,DLL封装SQL登陆,代码!随意修改!
💻 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 + -