www.pudn.com > transfox.rar > send.pas


unit send; 
 
interface 
 
uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, StdCtrls, Buttons, Grids, DBGrids, ExtCtrls, ComCtrls,DBTables; 
 
 
type 
  TFrm_send = class(TForm) 
    DBGrd_sendinfo: TDBGrid; 
    BtBtn_trans: TBitBtn; 
    BtBtn_close: TBitBtn; 
    BtBtn_find: TBitBtn; 
    GroupBox1: TGroupBox; 
    Label1: TLabel; 
    Label2: TLabel; 
    DtTmPckr_start: TDateTimePicker; 
    DtTmPckr_end: TDateTimePicker; 
    StatusBar1: TStatusBar; 
    BtBtn_ODBC: TBitBtn; 
    ComboBox1: TComboBox; 
    Label3: TLabel; 
    btn_contest: TBitBtn; 
    btn_accept: TButton; 
    procedure FormShow(Sender: TObject); 
    procedure BtBtn_transClick(Sender: TObject); 
    procedure BtBtn_findClick(Sender: TObject); 
    procedure BtBtn_ODBCClick(Sender: TObject); 
    procedure btn_contestClick(Sender: TObject); 
    procedure BtBtn_closeClick(Sender: TObject); 
    procedure btn_acceptClick(Sender: TObject); 
  private 
    { Private declarations } 
    procedure SqlTrantofox(tbname:string); 
    procedure deletebeforetran(tbname,baza01:string); 
  public 
    { Public declarations } 
  end; 
 
var 
  Frm_send: TFrm_send; 
 
implementation 
uses trans,data, createodbc; 
{$R *.dfm} 
 
procedure TFrm_send.SqlTrantofox(tbname:string); 
begin 
try 
   DM.Tbl_source.TableName:=tbname+'_temp'; 
   DM.Tbl_dest.TableName:=tbname; 
  //    DM.Tbl_source.TableName:='baf9_temp'; 
  //    DM.Tbl_dest.TableName:='baf9'; 
   with DM.BtchMv_sickcase do 
   begin 
      Execute; 
     // ShowMessage(tbname+'_temp:'+IntToStr(MovedCount) + ' records copied'); 
      //ShowMessage(IntToStr(ProblemCount) + ' records cannot copied'); 
     //ShowMessage(IntToStr(ChangedCount) + ' records cannot Changed'); 
   end; 
 except 
//    on E: Exception do 
//    begin 
//      application.MessageBox(pchar(e.message),'错误信息',mb_iconerror); 
      application.MessageBox(pchar(tbname+'表接收失败!'),'错误信息',mb_iconerror); 
      exit; 
   // end; 
  end; 
end; 
procedure TFrm_send.deletebeforetran(tbname,baza01:string); 
const 
 sqlstr2='delete from  %s where baza01<>%s'; 
begin 
   tbname:=trim(tbname)+'_temp'; 
   try 
    with dm.Q_source do 
    begin 
      close; 
      sql.clear; 
      sql.Add(format(sqlstr2,[tbname,baza01])); 
      Execsql; 
    end; 
    except 
        application.MessageBox(pchar(tbname+'记录提取失败!'),'错误信息',mb_iconerror); 
        exit; 
     end; 
 
end; 
 
 
procedure TFrm_send.FormShow(Sender: TObject); 
begin 
DtTmPckr_start.datetime:=now; 
DtTmPckr_end.DateTime:=now; 
Deplist(combobox1); 
//BtBtn_find.Click; 
end; 
 
procedure TFrm_send.BtBtn_transClick(Sender: TObject); 
var acaseidset:string; 
begin 
  if DBGrd_sendinfo.DataSource.DataSet.IsEmpty  then 
  begin 
    application.MessageBox('没有可传输的信息','信息',32); 
    exit; 
  end; 
  acaseidset:=CaseidSet(DBGrd_sendinfo); 
  try 
    TransSickCase('baza',acaseidset); 
    TransSickCase('baf1',acaseidset); 
    TransSickCase('baf2',acaseidset); 
    TransSickCase('baf3',acaseidset); 
    TransSickCase('baf4',acaseidset); 
    TransSickCase('baf5',acaseidset); 
    TransSickCase('baf9',acaseidset); 
    TransSickCase('bafc',acaseidset); 
    UpdateSeekInfo(acaseidset); 
    application.MessageBox('传输成功!','信息',0); 
  except 
    application.MessageBox('传输失败!','信息',16); 
    exit; 
  end; 
   BtBtn_find.Click; 
end; 
 
procedure TFrm_send.BtBtn_findClick(Sender: TObject); 
var reccount:integer; 
    ksbm:smallint; 
begin 
  ksbm:=strtoint(copy(combobox1.text,1,3)); 
  BrowsSeekInfo(DtTmPckr_start.datetime,DtTmPckr_end.DateTime,ksbm); 
  reccount:=DBGrd_sendinfo.DataSource.DataSet.RecordCount; 
  StatusBar1.Panels[0].Text:='记录数:'+inttostr(reccount); 
end; 
 
procedure TFrm_send.BtBtn_ODBCClick(Sender: TObject); 
begin 
  fm_createodbc.ShowModal; 
end; 
 
procedure TFrm_send.btn_contestClick(Sender: TObject); 
begin 
  try 
    application.MessageBox('连接成功!','提示信息',mb_iconinformation); 
    dm.Database_hmrs.Connected:=true; 
  except 
    application.MessageBox('连接失败!','错误信息',mb_iconerror); 
    exit; 
  end; 
end; 
 
procedure TFrm_send.BtBtn_closeClick(Sender: TObject); 
begin 
  close; 
end; 
 
procedure TFrm_send.btn_acceptClick(Sender: TObject); 
var baza01:string; 
begin 
      baza01:=DBGrd_sendinfo.Fields[0].AsString; 
      deletebeforetran('sickcase..baza',baza01); 
      deletebeforetran('sickcase..baf1',baza01); 
      deletebeforetran('sickcase..baf2',baza01); 
      deletebeforetran('sickcase..baf3',baza01); 
      deletebeforetran('sickcase..baf4',baza01); 
      deletebeforetran('sickcase..baf5',baza01); 
      deletebeforetran('sickcase..baf9',baza01); 
      deletebeforetran('sickcase..bafc',baza01); 
 
      with DM.BtchMv_sickcase do 
        begin 
          Source :=dm.Tbl_source; 
          Destination :=DM.Tbl_dest; 
          Mode := batCopy; 
          //AbortOnKeyViol := False; 
          //ShowMessage(IntToStr(MovedCount) + ' records copied'); 
          //ShowMessage(IntToStr(ChangedCount) + ' records cannot Changed'); 
        end; 
       try 
        SqlTrantofox('baza'); 
        SqlTrantofox('baf1'); 
        SqlTrantofox('baf2'); 
        SqlTrantofox('baf3'); 
        SqlTrantofox('baf4'); 
        SqlTrantofox('baf5'); 
        SqlTrantofox('baf9'); 
        SqlTrantofox('bafc'); 
        UpdateSeekInfo(baza01); 
        application.MessageBox('接收成功!','信息',0); 
       except 
          application.MessageBox('接收失败!','信息',16); 
          exit; 
       end; 
       BtBtn_find.Click; 
end; 
 
end.