base_enter_orderordinalset.pas

来自「一个MRPII系统源代码版本」· PAS 代码 · 共 99 行

PAS
99
字号
unit Base_Enter_OrderOrdinalSet;

Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Outer, Menus, ExtPrintReport, Db, ActnList, AdODB, Grids, DBGridEh,
  StdCtrls, ExtCtrls, ComCtrls, ToolWin, jpeg;

Type
  TFrm_Base_Enter_OrderOrdinalSet = Class(TFrm_Base_Outer)
    AdoQry_MainParamId: TAutoIncField;
    AdoQry_MaInOrderType: TIntegerField;
    AdoQry_MaInOrderOrdinalType: TIntegerField;
    AdoQry_MaInOrderOrdinalBLetter: TStringField;
    AdoQry_MaInOrderOrdinalELetter: TIntegerField;
    procedure Act_DeleteExecute(Sender: TObject);
  private
    { Private declarations }
  public
    procedure InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);Override;
    { Public declarations }
  end;

var
  Frm_Base_Enter_OrderOrdinalSet: TFrm_Base_Enter_OrderOrdinalSet;

implementation

uses Base_Enter_OrderOrdinalSet_D, Sys_Global;

{$R *.DFM}

{ TFrm_Gl_Enter_Docket }

procedure TFrm_Base_Enter_OrderOrdinalSet.InitForm(AdOConnection: TAdOConnection;
  ReadOnly: Boolean);
begin
  inherited;
  SelectFromSql:='Select * From SysOrderOrdinalSet ';
  OrderByFields := 'OrderType';
  GetData;
  Frm_Sys_Detail:=TFrm_Base_Enter_OrderOrdinalSet_D.Create(Application);
end;

procedure TFrm_Base_Enter_OrderOrdinalSet.Act_DeleteExecute(Sender: TObject);
var
  DocketId,SqlText:String;
begin
//  inherited;
  if(not AdoQry_Main.IsEmpty)and
    (DispInfo(' 真的删除当前记录吗? ',2)='y')then
  begin
    try
      DbConnect.beginTrans;
      AdoQry_Tmp.Close;
      AdoQry_Tmp.sql.clear;
      AdoQry_Tmp.SQL.Text := ' Select ParamId From SysOrderOrdinalSet '
                            +'     Where   OrderType='''+AdoQry_Main.fieldbyname('OrderType').AsString+''' ';
      AdoQry_Tmp.Open;
      DocketId := AdoQry_Tmp.fieldbyname('ParamId').AsString;
      SqlText := ' Insert into SysOrderOrdinalSetHistory '
                +' (ParamId,OrderType,OrderOrdinalType,OrderOrdinalBLetter,OrderOrdinalELetter,ChgEmployeeCode,ChgTime,ChgType ) '
                +' Values('
                +''''+DocketId+''', '
                +''''+AdoQry_Main.fieldbyname('OrderType').AsString+''','
                +''''+AdoQry_Main.fieldbyname('OrderOrdinalType').AsString+''','
                +''''+AdoQry_Main.fieldbyname('OrderOrdinalBLetter').AsString+''','
                +''''+AdoQry_Main.fieldbyname('OrderOrdinalELetter').AsString+''','
                + QuotedStr(UserCode)+','
                +' GetDate(),'
                +''''+'删除'+''' '
                +')';
      AdoQry_Tmp.Close;
      AdoQry_Tmp.SQL.clear;
      AdoQry_Tmp.SQL.Text:= SqlText;
      AdoQry_Tmp.ExecSQL;


      AdoQry_Tmp.Close;
      AdoQry_Tmp.sql.clear;
      SqlText := ' Delete SysOrderOrdinalSet '
                            +'     Where   ParamId='''+DocketId+''' ' ;
      AdoQry_Tmp.SQL.Text := SqlText;
      AdoQry_Tmp.ExecSQL;

      DbConnect.CommitTrans;
      AdoQry_Main.Delete;

    except
      DbConnect.RollBackTrans ; 
      DispInfo(' 无法删除当前记录,可能已经被其他数据表引用!',1);
      Abort;
    end;
  end;
end;

end.

⌨️ 快捷键说明

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