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

📄 ucount.~pas

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

interface

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

type
  TfrmCount = class(TfrmInfoTemp)
    pnlTop: TPanel;
    souInfo: TDataSource;
    qryInfo: TQuery;
    TabSet1: TTabSet;
    cdsInfo: TClientDataSet;
    Panel1: TPanel;
    grdInfo: TwwDBGrid;
    dspInfo: TDataSetProvider;
    SaveDialog1: TSaveDialog;
    KDatasetToText1: TKDatasetToText;
    lblDWMC: TLabel;
    procedure TabSet1Change(Sender: TObject; NewTab: Integer;
      var AllowChange: Boolean);
    procedure FormCreate(Sender: TObject);
    procedure edtInfoChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure BeginQuery(TabOrder: Integer);
    procedure SaveToFile;
  end;

var
  frmCount: TfrmCount;
  dwid: string;

implementation

uses uCommon, dMain;

{$R *.DFM}


procedure TfrmCount.BeginQuery(TabOrder: Integer);
begin
  cdsInfo.Close;

  case TabOrder of
    0: //工商银行
      with qryInfo do
      begin
        SQL.Clear;
        SQL.Add('SELECT');
        SQL.Add('     ryxx.xm 姓名, ryxx.sfzh 身份证, ryxx.zh 帐号, ');
        SQL.Add('     ryxx.khh 开户行, ryxx.hrdd 汇入地点, ');
        SQL.Add('     ryxx.ffje 金额, dqxx.dm 行政区划编码, ');
        SQL.Add('     dqxx.mc 地区名称, ryxx.ryid_ff 人员标识,');
        SQL.Add('     dwxx.dwmc 单位名称');
        SQL.Add(' FROM');
        SQL.Add('     tff_ryxx ryxx, tff_rydqxx dqxx,tff_dwxx dwxx');
        SQL.Add('WHERE');
        SQL.Add('     ryxx.ryid_ff = dqxx.ryid_ff and ryxx.ffjgid = '''
          + '1000000001' + '''');
        SQL.Add(' and ryxx.ssdwid=dwxx.dwid_ff ');
        //如果输入了单位代码
        //SQL.Add(' and ryxx.dwid_ff='''+'1000000000'+'''');
        SQL.Add(' ORDER BY ryxx.dwid_ff, ryxx.ryid_ff');
      end;
    1: //农业银行
      with qryInfo do
      begin
        SQL.Clear;
        SQL.Add('SELECT');
        SQL.Add('     ryxx.xm 姓名, ryxx.sfzh 身份证, ryxx.zh 帐号, ');
        SQL.Add('     ryxx.khh 开户行, ryxx.hrdd 汇入地点, ');
        SQL.Add('     ryxx.ffje 金额, dqxx.dm 行政区划编码, ');
        SQL.Add('     dqxx.mc 地区名称, ryxx.ryid_ff 人员标识,');
        SQL.Add('     dwxx.dwmc 单位名称');
        SQL.Add(' FROM');
        SQL.Add('     tff_ryxx ryxx, tff_rydqxx dqxx,tff_dwxx dwxx');
        SQL.Add('WHERE');
        SQL.Add('     ryxx.ryid_ff = dqxx.ryid_ff and ryxx.ffjgid = '''
          + '1000000002' + '''');
        SQL.Add(' and ryxx.ssdwid=dwxx.dwid_ff ');
        //如果输入了单位代码
        //SQL.Add(' and ryxx.dwid_ff='''+'1000000000'+'''');
        SQL.Add(' ORDER BY ryxx.dwid_ff, ryxx.ryid_ff');
      end;
    2: //中国银行
      with qryInfo do
      begin
        SQL.Clear;
        SQL.Add('SELECT');
        SQL.Add('     ryxx.xm 姓名, ryxx.sfzh 身份证, ryxx.zh 帐号, ');
        SQL.Add('     ryxx.khh 开户行, ryxx.hrdd 汇入地点, ');
        SQL.Add('     ryxx.ffje 金额, dqxx.dm 行政区划编码, ');
        SQL.Add('     dqxx.mc 地区名称, ryxx.ryid_ff 人员标识,');
        SQL.Add('     dwxx.dwmc 单位名称');
        SQL.Add(' FROM');
        SQL.Add('     tff_ryxx ryxx, tff_rydqxx dqxx,tff_dwxx dwxx');
        SQL.Add('WHERE');
        SQL.Add('     ryxx.ryid_ff = dqxx.ryid_ff and ryxx.ffjgid = '''
          + '1000000003' + '''');
        SQL.Add(' and ryxx.ssdwid=dwxx.dwid_ff ');
        //如果输入了单位代码
        //SQL.Add(' and ryxx.dwid_ff='''+'1000000000'+'''');
        SQL.Add(' ORDER BY ryxx.dwid_ff, ryxx.ryid_ff');
      end;
    3: //建设银行
      with qryInfo do
      begin
        SQL.Clear;
        SQL.Add('SELECT');
        SQL.Add('     ryxx.xm 姓名, ryxx.sfzh 身份证, ryxx.zh 帐号, ');
        SQL.Add('     ryxx.khh 开户行, ryxx.hrdd 汇入地点, ');
        SQL.Add('     ryxx.ffje 金额, dqxx.dm 行政区划编码, ');
        SQL.Add('     dqxx.mc 地区名称, ryxx.ryid_ff 人员标识,');
        SQL.Add('     dwxx.dwmc 单位名称');
        SQL.Add(' FROM');
        SQL.Add('     tff_ryxx ryxx, tff_rydqxx dqxx,tff_dwxx dwxx');
        SQL.Add('WHERE');
        SQL.Add('     ryxx.ryid_ff = dqxx.ryid_ff and ryxx.ffjgid = '''
          + '1000000004' + '''');
        SQL.Add(' and ryxx.ssdwid=dwxx.dwid_ff ');
        //如果输入了单位代码
        //SQL.Add(' and ryxx.dwid_ff='''+'1000000000'+'''');
        SQL.Add(' ORDER BY ryxx.dwid_ff, ryxx.ryid_ff');
      end;
    4: //邮政储蓄
      with qryInfo do
      begin
        SQL.Clear;
        SQL.Add('SELECT   ');
        SQL.Add(' ryxx.xm 姓名, ryxx.sfzh 身份证, ryxx.zh 帐号, ryxx.khh 开户行, ');
        SQL.Add(' ryxx.hrdd 汇入地点,  ryxx.ffje 金额, ryxx.ryid_ff 人员标识,');
        SQL.Add(' dwxx.dwmc 单位名称');
        SQL.Add('FROM     tff_ryxx ryxx,tff_dwxx dwxx');
        SQL.Add('WHERE    ryxx.ffjgid = ''1000000006''');
        SQL.Add(' and ryxx.ssdwid=dwxx.dwid_ff ');
        //
        //SQL.Add(' and dwxx.dwid_ff=''' +'1000000001' + '''');
        SQL.Add('ORDER BY ryxx.dwid_ff, ryxx.ryid_ff');
      end;

    5: //邮政汇款
      with qryInfo do
      begin
        SQL.Clear;
        SQL.Add('select ryxx.xm 姓名, ryxx.sfzh 身份证,ryxx.yzbm 邮政编码,');
        SQL.Add('ryxx.dz 地址,ryxx.ffje 金额, ryxx.ryid_ff 人员标识,');
        SQL.Add('dwxx.dwmc 单位名称');
        SQL.Add('from tff_ryxx ryxx,tff_dwxx dwxx');
        SQL.Add('where ryxx.ffjgid=''1000000007''');
        SQL.Add(' and ryxx.ssdwid=dwxx.dwid_ff ');
        //
        //SQL.Add(' and dwxx.dwid_ff=''' +'1000000001' + '''');
        SQL.Add('order by ryxx.dwid_ff,ryxx.ryid_ff');
      end;

    6: //其他
      with qryInfo do
      begin
        SQL.Clear;
        SQL.Add('SELECT');
        SQL.Add('     ryxx.xm 姓名, ryxx.sfzh 身份证, ryxx.zh 帐号, ');
        SQL.Add('     ryxx.khh 开户行, ryxx.hrdd 汇入地点, ');
        SQL.Add('     ryxx.ffje 金额, dqxx.dm 行政区划编码, ');
        SQL.Add('     dqxx.mc 地区名称, ryxx.ryid_ff 人员标识,');
        SQL.Add('     dwxx.dwmc 单位名称');
        SQL.Add(' FROM');
        SQL.Add('     tff_ryxx ryxx, tff_rydqxx dqxx,tff_dwxx dwxx');
        SQL.Add('WHERE');
        SQL.Add('     ryxx.ryid_ff = dqxx.ryid_ff and (ryxx.ffjgid = ''' +
          '1000000005' + ''' or ryxx.ffjgid = ''' + '1000000009' + ''')');
        SQL.Add(' and ryxx.ssdwid=dwxx.dwid_ff ');
        //
        //SQL.Add(' and dwxx.dwid_ff=''' +'1000000001' + '''');
        SQL.Add(' ORDER BY ryxx.dwid_ff, ryxx.ryid_ff');
      end;
  end;

  //  frmCount.ShowQueryItem(frmCount.TabSet1.TabIndex);
  frmCount.cdsInfo.Open;
end;

procedure TfrmCount.TabSet1Change(Sender: TObject; NewTab: Integer;
  var AllowChange: Boolean);
begin
  inherited;
  //关闭
  BeginQuery(NewTab);

end;

//保存为文件数据库

procedure TfrmCount.SaveToFile;
begin

  SaveDialog1.DefaultExt := 'txt';
  SaveDialog1.FileName := TabSet1.Tabs[TabSet1.TabIndex] + '.CSV';

  if not cdsInfo.Active then
    BeginQuery(TabSet1.TabIndex);

  if SaveDialog1.Execute then
  begin
    Self.cdsInfo.DisableControls;
    Self.KDatasetToText1.Transfer(SaveDialog1.FileName);
    Self.cdsInfo.EnableControls;
    gfShowOK('数据倒出成功');
  end;
end;

procedure TfrmCount.FormCreate(Sender: TObject);
begin
  inherited;
  dwid := '';
end;

procedure TfrmCount.edtInfoChange(Sender: TObject);
begin
  inherited;
{
  with TQuery.Create(Self) do
  begin
    DataBaseName := dfmMain.dbsMain.DatabaseName;
    SQL.Add('SELECT dwid_ff,dwmc from tff_dwxx where dwdm=''' + edtInfo.Text +
      '''');
    Open;
    if RecordCount <> 0 then
    begin
      lblDWMC.Caption := FieldByName('DWMC').AsString;
      dwid := FieldByName('dwid_ff').AsString;
    end
    else
    begin
      lblDWMC.Caption := '所有单位';
      dwid := '';
    end;
  end;
}  
end;

end.

⌨️ 快捷键说明

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