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

📄 uquery.pas

📁 行业应急系统 包括: 应急系统(待遇核发) 发放系统 开发环境:Delphi5 (sp1)+ Oracle 8.05 MultiExport是一个可以将数据按指定字段倒出
💻 PAS
字号:
unit uQuery;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  uInfoTemp, uRyxxFrame, Grids, Wwdbigrd, Wwdbgrid, StdCtrls, ExtCtrls,
  Tabs, DBTables, Db;

type
  TfrmQuery = class(TfrmInfoTemp)
    pnlTop: TPanel;
    lblDWMC: TLabel;
    edtSFZH: TEdit;
    edtXM: TEdit;
    Label1: TLabel;
    Button1: TButton;
    TabSet1: TTabSet;
    grdMain: TwwDBGrid;
    frmRYXXEdit: TFrameRyxx;
    souMain: TDataSource;
    qryMain: TQuery;
    qryMainRYID_FF: TStringField;
    qryMainDWID_FF: TStringField;
    qryMainRYID: TStringField;
    qryMainXM: TStringField;
    qryMainSFZH: TStringField;
    qryMainHDJE: TFloatField;
    qryMainFFFS: TFloatField;
    qryMainFFFS_C: TStringField;
    qryMainFFJGID: TStringField;
    qryMainFFJGID_C: TStringField;
    qryMainDJQK: TFloatField;
    qryMainDJQK_C: TStringField;
    qryMainZH: TStringField;
    qryMainKHH: TStringField;
    qryMainHB: TFloatField;
    qryMainHB_C: TStringField;
    qryMainSKR: TStringField;
    qryMainHRDD: TStringField;
    qryMainYZBM: TStringField;
    qryMainLXDH: TStringField;
    qryMainDZ: TStringField;
    qryMainFFJE: TFloatField;
    qryMainLJFFJE: TFloatField;
    qryMainFFZQ: TFloatField;
    qryMainFFZQ_C: TStringField;
    qryMainRYZT: TFloatField;
    qryMainKSFFYF: TDateTimeField;
    qryMainCSRQ: TDateTimeField;
    qryMainTXSJ: TDateTimeField;
    qryMainTXLB: TFloatField;
    qryMainXM_QS: TStringField;
    qryMainSFZH_QS: TStringField;
    qryMainGX_QS: TFloatField;
    qryMainLXDH_QS: TStringField;
    qryMainLXDZ_QS: TStringField;
    qryMainYZBM_QS: TStringField;
    qryMainYYFWSJ: TFloatField;
    qryMainSKFWRQ: TFloatField;
    qryMainSKFWSJ: TFloatField;
    qryMainBZ: TStringField;
    qryMainJBR: TStringField;
    qryMainJBRQ: TDateTimeField;
    qryMainSHR: TStringField;
    qryMainSHRQ: TDateTimeField;
    qryMainSSDWID: TStringField;
    sqlMain: TUpdateSQL;
    procedure FormActivate(Sender: TObject);
    procedure TabSet1Change(Sender: TObject; NewTab: Integer;
      var AllowChange: Boolean);
    procedure Button1Click(Sender: TObject);
    procedure qryMainAfterPost(DataSet: TDataSet);
    procedure qryMainBeforeInsert(DataSet: TDataSet);
    procedure qryMainBeforePost(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure ShowEdit(TabOrder: Integer);
  end;

var
  frmQuery: TfrmQuery;

implementation

uses uMain, uCommon;

{$R *.DFM}

procedure TfrmQuery.ShowEdit(TabOrder: Integer);
begin
  frmMain.souMain.DataSet := qryMain;

  frmRYXXEdit.Start(qryMain);

  {
    if not qryMain.Active then
      qryMain.Active := True;
  }

  if TabOrder = 1 then //单条记录显示
  begin
    frmRYXXEdit.souRYXX.DataSet := qryMain;
    grdMain.DataSource := nil;

    frmRYXXEdit.Visible := True;
    grdMain.Visible := False;
  end
  else
  begin
    frmRYXXEdit.souRYXX.DataSet := nil;
    grdMain.DataSource := souMain;

    frmRYXXEdit.Visible := False;
    grdMain.Visible := True;
  end;
end;

procedure TfrmQuery.FormActivate(Sender: TObject);
begin
  inherited;
  ShowEdit(TabSet1.TabIndex);
end;

procedure TfrmQuery.TabSet1Change(Sender: TObject; NewTab: Integer;
  var AllowChange: Boolean);
begin
  inherited;
  ShowEdit(NewTab);
end;

procedure TfrmQuery.Button1Click(Sender: TObject);
begin
  inherited;
  //查询结果

  if (Trim(edtSFZH.Text) = '') and (Trim(edtXM.Text) = '') then
  begin
    gfShowError('请输入查询条件');
    Abort;
  end
  else
  begin
    qryMain.SQL.Clear;
    qryMain.SQL.Add('select * from tFF_RYXX');
    if (Trim(edtSFZH.Text) <> '') and (Trim(edtXM.Text) = '') then
      qryMain.SQL.Add('where sfzh like ''%' + Trim(edtSFZH.Text) + '%''');
    if (Trim(edtSFZH.Text) = '') and (Trim(edtXM.Text) <> '') then
      qryMain.SQL.Add('where xm like ''%' + Trim(edtXM.Text) + '%''');
    if (Trim(edtSFZH.Text) <> '') and (Trim(edtXM.Text) <> '') then
    begin
      qryMain.SQL.Add('where sfzh like ''%' + Trim(edtSFZH.Text) + '%''');
      qryMain.SQL.Add(' and xm like ''%' + Trim(edtXM.Text) + '%''');
    end;
    qryMain.SQL.Add('order by ryid_ff');
    qryMain.Open;
    frmMain.StatusBar.Panels[0].Text := '查询结果共' +
      IntToStr(qryMain.RecordCount) +
      '条记录';
  end;

end;

procedure TfrmQuery.qryMainAfterPost(DataSet: TDataSet);
begin
  inherited;
  TQuery(DataSet).ApplyUpdates;
  TQuery(DataSet).CommitUpdates;

end;

procedure TfrmQuery.qryMainBeforeInsert(DataSet: TDataSet);
begin
  inherited;
  gfShowError('查询界面不能新增记录');
  Abort;
end;

procedure TfrmQuery.qryMainBeforePost(DataSet: TDataSet);
begin
  inherited;
  if TQuery(DataSet).FieldByName('XM').isNULL then
  begin
    gfShowError('请输入姓名');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('SFZH').isNULL then
  begin
    gfShowError('请输入身份证号');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('HDJE').isNULL then
  begin
    gfShowError('请输入核定金额');
    Abort;
  end;


  if TQuery(DataSet).FieldByName('FFFS').isNULL then
  begin
    gfShowError('请输入发放方式');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('FFJGID').isNULL then
  begin
    gfShowError('请输入发放机构');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('DJQK').isNULL then
  begin
    gfShowError('请输入定居情况');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('DZ').isNULL then
  begin
    gfShowError('请输入地址');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('FFJE').isNULL then
  begin
    gfShowError('请输入发放金额');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('LJFFJE').isNULL then
  begin
    gfShowError('请输入累计发放金额');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('FFZQ').isNULL then
  begin
    gfShowError('请输入发放周期');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('RYZT').isNULL then
  begin
    gfShowError('请输入人员状态');
    Abort;
  end;

  if TQuery(DataSet).FieldByName('KSFFYF').isNULL then
  begin
    gfShowError('请输入开始发放月份');
    Abort;
  end;


end;

end.

⌨️ 快捷键说明

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