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

📄 untbasequery.pas

📁 简要说明:对医院幼儿心理情况做的一个调查,统计系统.
💻 PAS
字号:
unit untBaseQuery;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, untBase, DB, ADODB, StdCtrls, Buttons, Grids, DBGridEh, jpeg,
  ExtCtrls, FR_DSet, FR_DBSet, FR_Class, untGlobalVar, FR_Desgn;

type
  TfrmBaseQuery = class(TfrmBase)
    PalTop: TPanel;
    ImgTL: TImage;
    ImgTC: TImage;
    ImgTR: TImage;
    imgTopML: TImage;
    imgMR: TImage;
    PalBottom: TPanel;
    ImgBL: TImage;
    ImgBR: TImage;
    ImgBC: TImage;
    ImgLeft: TImage;
    ImgRight: TImage;
    pnlBack: TPanel;
    pnlCondition: TPanel;
    DBGridEh1: TDBGridEh;
    pnlBottom: TPanel;
    Label1: TLabel;
    lblRecNum: TLabel;
    btnQry: TBitBtn;
    btnPrn: TBitBtn;
    dsResult: TDataSource;
    adsResult: TADODataSet;
    frReport1: TfrReport;
    frDBDataSet1: TfrDBDataSet;
    btnClose: TBitBtn;
    btnDesign: TBitBtn;
    procedure adsResultAfterOpen(DataSet: TDataSet);
    procedure btnQryClick(Sender: TObject);
    procedure btnPrnClick(Sender: TObject);
    procedure btnCloseClick(Sender: TObject);
    procedure btnDesignClick(Sender: TObject);
    procedure DBGridEh1TitleClick(Column: TColumnEh);
  private
    FQuerySQL: string;
    FReportFile: string;
    FConn: TADOConnection;
    FLoginInfo: TUserRec;
    FTitle: string;
    procedure SetConn(const Value: TADOConnection);
    procedure SetLoginInfo(const Value: TUserRec);
    procedure SetTitle(const Value: string);
    { Private declarations }
  protected
    procedure GenerateSQL; virtual;
    procedure InitReport; virtual;
    procedure DataSetAfterOpen(DataSet: TDataSet); virtual;
  public
    { Public declarations }
    property QuerySQL: string read FQuerySQL write FQuerySQL;
    property ReportFile: string read FReportFile write FReportFile;
    property Conn: TADOConnection read FConn write SetConn;
    property LoginInfo: TUserRec read FLoginInfo write SetLoginInfo;
    property Title: string read FTitle write SetTitle;
  end;

var
  frmBaseQuery: TfrmBaseQuery;

implementation

uses untDM, untGlobalFun;

{$R *.dfm}

procedure TfrmBaseQuery.adsResultAfterOpen(DataSet: TDataSet);
begin
  inherited;
  DataSetAfterOpen(DataSet);
  lblRecNum.Caption := IntToStr(DataSet.RecordCount);
end;

procedure TfrmBaseQuery.GenerateSQL;
begin

end;

procedure TfrmBaseQuery.btnQryClick(Sender: TObject);
begin
  inherited;
  GenerateSQL;
  with adsResult do begin
    if Active then Active := False;
    CommandText := QuerySQL;
    Active := true;
  end;
end;

procedure TfrmBaseQuery.btnPrnClick(Sender: TObject);
begin
  inherited;
  if (not adsResult.Active) or adsResult.IsEmpty then begin
    MsgOK('数据集未打开,或没有任何记录!');
    Exit;
  end;
  if not FileExists(ReportFile) then begin
    MsgOK('报表格式文件丢失,请联系管理员!');
    Exit;
  end;
  with frReport1 do begin
    LoadFromFile(ReportFile);
    InitReport;
    if PrepareReport then begin
      ModifyPrepared := false;
      ShowPreparedReport;
    end;
  end;
end;

procedure TfrmBaseQuery.InitReport;
begin

end;

procedure TfrmBaseQuery.SetConn(const Value: TADOConnection);
var
  i: Integer;
begin
  FConn := Value;
  for i:=0 to ComponentCount-1 do
    if Components[i] is TCustomADODataSet then
      TCustomADODataSet(Components[i]).Connection := Value;
end;

procedure TfrmBaseQuery.SetLoginInfo(const Value: TUserRec);
begin
  FLoginInfo := Value;
end;

procedure TfrmBaseQuery.SetTitle(const Value: string);
begin
  FTitle := Value;
  Caption := Value;
  btnDesign.Visible := FLoginInfo.Code = '99';
end;

procedure TfrmBaseQuery.btnCloseClick(Sender: TObject);
begin
  inherited;
  Close;
end;

procedure TfrmBaseQuery.btnDesignClick(Sender: TObject);
begin
  inherited;
  if not FileExists(ReportFile) then begin
    MsgOK('报表格式文件丢失,请联系管理员!');
    Exit;
  end;

  frReport1.LoadFromFile(ReportFile);
  frReport1.DesignReport;
end;

procedure TfrmBaseQuery.DataSetAfterOpen(DataSet: TDataSet);
begin

end;

procedure TfrmBaseQuery.DBGridEh1TitleClick(Column: TColumnEh);
begin
  inherited;
  if (Column.Title.SortMarker = smNoneEh) or (Column.Title.SortMarker = smDownEh) then
  begin
    adsResult.Sort := Column.FieldName;
    Column.Title.SortMarker := smUpEh
  end
  else
  begin
    adsResult.Sort := Column.FieldName + ' DESC';
    Column.Title.SortMarker := smDownEh
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -