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

📄 frm_planecompanyedit.pas

📁 这是一个基于delphi平台的物流空运管理系统!
💻 PAS
字号:
unit Frm_PlaneCompanyEdit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Frm_Cargo, dxCore, dxButton, StdCtrls, XPMenu, Buttons,
  EnterAsTab, GIFImage, ExtCtrls, THPanel, DB, ADODB;

type
  TFrmPlaneCompanyEdit = class(TFrmCargo)
    QryTemp: TADOQuery;
    Label1: TLabel;
    EdtPlaneCompanyCode: TEdit;
    Label4: TLabel;
    EdtPlaneCompanyID: TEdit;
    Label2: TLabel;
    EdtPlaneCompanyCName: TEdit;
    Label3: TLabel;
    EdtPlaneCompanyName: TEdit;
    Label5: TLabel;
    EdtRemark: TEdit;
    BtnAdd: TButton;
    BtnSave: TButton;
    BtnClose: TButton;
    procedure FormActivate(Sender: TObject);
    procedure BtnAddClick(Sender: TObject);
    procedure BtnSaveClick(Sender: TObject);
    procedure BtnCloseClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    PlaneCompanyCode: string;
    IsEdit: Boolean;
    { Public declarations }
  end;

var
  FrmPlaneCompanyEdit: TFrmPlaneCompanyEdit;

implementation

uses Frm_PlaneCompanyInfo, Frm_Main;

{$R *.dfm}

procedure TFrmPlaneCompanyEdit.FormActivate(Sender: TObject);
begin
  inherited;
  EdtPlaneCompanyCode.SetFocus;
  if IsEdit then
  begin
    with FrmPlaneCompanyInfo do
    begin
      try
        with QryTemp do
        begin
          Close;
          Sql.Clear;
          Sql.Text := 'Select PlaneCompanyCode,PlaneCompanyID,PlaneCompanyName,'
            + 'PlaneCompanyCName,Remark from PlaneCompanyInfo'
            + ' where PlaneCompanyCode=''' + LV.Selected.Caption + '''';
          Open;
          EdtPlaneCompanyCode.Text := FieldByName('PlaneCompanyCode').AsString;
          EdtPlaneCompanyID.Text := FieldByName('PlaneCompanyID').AsString;
          EdtPlaneCompanyName.Text := FieldByName('PlaneCompanyName').AsString;
          EdtPlaneCompanyCName.Text :=
            FieldByName('PlaneCompanyCName').AsString;
          EdtRemark.Text := FieldByName('Remark').AsString;
          //PlaneCompanyCode := FieldByName('PlaneCompanyCode').AsString;
        end;
      except
        if QryTemp.Active then QryTemp.Close;
        ShowMessage('运行错误,返回!');
        Exit;
      end;
    end;
  end;
end;

procedure TFrmPlaneCompanyEdit.BtnAddClick(Sender: TObject);
begin
  inherited;
  EdtPlaneCompanyCode.Text := '';
  EdtPlaneCompanyID.Text := '';
  EdtPlaneCompanyName.Text := '';
  EdtPlaneCompanyCName.Text := '';
  EdtRemark.Text := '';
  PlaneCompanyCode := '';
  BtnAdd.Enabled := False;
  IsEdit := False;
  EdtPlaneCompanyCode.SetFocus;
end;

procedure TFrmPlaneCompanyEdit.BtnSaveClick(Sender: TObject);
var
  SqlStr: string;
  TempRowCount: Integer;
  BeUpdateCode: Boolean;
  ValueArray: array[0..20] of string;
  ArrayCount: integer;
begin
  inherited;
  if FrmMain.IncludeValue('普通代码维护') then
  else
  begin
    ShowMessage('对不起,你不具有该操作的权限!');
    exit;
  end;

  if trim(EdtPlaneCompanyCode.Text) = '' then
  begin
    ShowMessage('代码不能够为空,请输入');
    exit;
  end;

  if trim(EdtPlaneCompanyID.Text) = '' then
  begin
    ShowMessage('三字代码不能够为空,请输入');
    exit;
  end;

  if trim(EdtPlaneCompanyCode.Text) <> PlaneCompanyCode then
    //是否输入了相同的主健
  begin
    QryTemp.Close;
    QryTemp.SQL.Text :=
      'Select * From PlaneCompanyInfo where PlaneCompanyCode=''' +
      EdtPlaneCompanyCode.Text + '''';
    QryTemp.Open;
    if FrmMain.RecordCount(QryTemp) > 0 then
    begin
      ShowMessage('代码已存在,请从新输入');
      EdtPlaneCompanyCode.SetFocus;
      exit;
    end;
  end;

  if IsEdit then
  begin
    try
      FrmMain.UseDB.BeginTrans;
      BeUpdateCode := false;
      if UpperCase(trim(EdtPlaneCompanyCode.Text)) = UpperCase(PlaneCompanyCode)
        then
      else
      begin
        BeUpdateCode := true;
        QryTemp.Close;
        QryTemp.SQL.Text :=
          'Select * From Station where CompanyName=''' +
          PlaneCompanyCode + '''';
        QryTemp.Open;
        if (FrmMain.RecordCount(QryTemp) > 0)
          and (PlaneCompanyCode <> EdtPlaneCompanyCode.Text) then
        begin
          if MessageDlg('该代码已经使用,不能够进行修改,,是否继续执行,请确定!',
            mtConfirmation, [mbYes, mbNo], 0) = mrno then
          begin
            EdtPlaneCompanyCode.Text := PlaneCompanyCode;
            FrmMain.UseDB.RollbackTrans;
            exit;
          end;
          //更新港口信息
          SqlStr := 'UpDate Station set CompanyName=''' +
            trim(EdtPlaneCompanyCode.Text) + ''' where CompanyName=''' +
            PlaneCompanyCode + '''';
          if FrmMain.ExecSQL(SqlStr) then
          else
          begin
            ShowMessage('更新代码记录失败,请检查!');
            exit;
          end;

        end
        else
        begin
          BeUpdateCode := true;
        end;
      end;
      SqlStr := '';
      FrmMain.UpStr(SqlStr, 'PlaneCompanyInfo');
      if BeUpdateCode then
        FrmMain.UpStr(SqlStr, 'PlaneCompanyCode',
          trim(EdtPlaneCompanyCode.text),
          ',');
      FrmMain.UpStr(SqlStr, 'PlaneCompanyID', trim(EdtPlaneCompanyID.text),
        ',');
      FrmMain.UpStr(SqlStr, 'PlaneCompanyName', trim(EdtPlaneCompanyName.text),
        ',');
      FrmMain.UpStr(SqlStr, 'PlaneCompanyCName',
        trim(EdtPlaneCompanyCName.text),
        ',');
      FrmMain.UpStr(SqlStr, 'Remark', trim(EdtRemark.text), '');
      FrmMain.UpStr(SqlStr, 'PlaneCompanyCode=', PlaneCompanyCode, 'w');
      if FrmMain.ExecSQL(SqlStr) then
      else
      begin
        ShowMessage('更新代码记录失败,请检查!');
        exit;
      end;

      PlaneCompanyCode := EdtPlaneCompanyCode.Text;

      ValueArray[0] := EdtPlaneCompanyCode.text;
      ValueArray[1] := EdtPlaneCompanyID.text;
      ValueArray[2] := EdtPlaneCompanyName.text;
      ValueArray[3] := EdtPlaneCompanyCName.text;
      ValueArray[4] := EdtRemark.text;
      ArrayCount := 4;
      FrmMain.RefeshOne(ValueArray, ArrayCount, FrmPlaneCompanyInfo.lv);
      FrmMain.UseDB.CommitTrans;

    except
      FrmMain.UseDB.RollbackTrans;
      ShowMessage('操作进行失败,请检查!');
      Exit;
    end;
  end
  else
  begin
    try
      SqlStr := 'Insert Into PlaneCompanyInfo(PlaneCompanyCode,PlaneCompanyID,PlaneCompanyName,'
        +
        'PlaneCompanyCName,Remark) values(';
      FrmMain.InsStr(SqlStr, trim(EdtPlaneCompanyCode.text), ',');
      FrmMain.InsStr(SqlStr, trim(EdtPlaneCompanyID.text), ',');
      FrmMain.InsStr(SqlStr, trim(EdtPlaneCompanyName.text), ',');
      FrmMain.InsStr(SqlStr, trim(EdtPlaneCompanyCName.text), ',');
      FrmMain.InsStr(SqlStr, trim(EdtRemark.text), '');
      if FrmMain.ExecSQL(SqlStr) then
      else
      begin
        ShowMessage('插入记录失败,请检查!');
        exit;
      end;
      IsEdit := true;
      BtnAdd.Enabled := True;
      PlaneCompanyCode := EdtPlaneCompanyCode.Text;

      ValueArray[0] := EdtPlaneCompanyCode.text;
      ValueArray[1] := EdtPlaneCompanyID.text;
      ValueArray[2] := EdtPlaneCompanyName.text;
      ValueArray[3] := EdtPlaneCompanyCName.text;
      ValueArray[4] := EdtRemark.text;
      ArrayCount := 4;
      FrmMain.AddListView(ValueArray, ArrayCount, FrmPlaneCompanyInfo.lv);

    except
      ShowMessage('插入记录失败,请检查!');
      exit;
    end;
  end;

end;

procedure TFrmPlaneCompanyEdit.BtnCloseClick(Sender: TObject);
begin
  inherited;
  Close;
end;

procedure TFrmPlaneCompanyEdit.FormDestroy(Sender: TObject);
begin
  inherited;
  FrmPlaneCompanyEdit := nil;
end;

procedure TFrmPlaneCompanyEdit.Button3Click(Sender: TObject);
begin
  inherited;
  Close;
end;

end.

⌨️ 快捷键说明

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