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

📄 uunitbase.pas

📁 是分布式粮库程序,是采用Delphi实现的
💻 PAS
字号:
unit uunitbase;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBTables, StdCtrls, Buttons, Grids, DBGrids, ExtCtrls;

type
  Tfunitbase = class(TForm)
    unitDBGrid: TDBGrid;
    unitTable: TTable;
    unitDataSource: TDataSource;
    Panel1: TPanel;
    Label5: TLabel;
    Label4: TLabel;
    Label3: TLabel;
    Label2: TLabel;
    Label1: TLabel;
    GroupBox1: TGroupBox;
    addBitBtn: TBitBtn;
    delBitBtn: TBitBtn;
    modBitBtn: TBitBtn;
    savBitBtn: TBitBtn;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    canBitBtn: TBitBtn;
    exiBitBtn: TBitBtn;
    addQuery: TQuery;
    modQuery: TQuery;
    delQuery: TQuery;
    unitQuery: TQuery;
    procedure FormCreate(Sender: TObject);
    procedure addBitBtnClick(Sender: TObject);
    procedure delBitBtnClick(Sender: TObject);
    procedure modBitBtnClick(Sender: TObject);
    procedure savBitBtnClick(Sender: TObject);
    procedure canBitBtnClick(Sender: TObject);
    procedure exiBitBtnClick(Sender: TObject);
    procedure unitTableAfterScroll(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  funitbase: Tfunitbase;
  unitid: integer;
  newormod: string;
implementation
  uses unitdatamodul;
{$R *.dfm}

procedure Tfunitbase.FormCreate(Sender: TObject);
begin
  edit1.Enabled :=false;
  edit2.Enabled :=false;
  edit3.Enabled :=false;
  edit4.Enabled :=false;
  edit5.Enabled :=false;


  unittable.Close;
  unittable.Open;
end;

procedure Tfunitbase.addBitBtnClick(Sender: TObject);
begin
   newormod:='insert';

   edit1.Enabled :=true;
   edit2.Enabled :=true;
   edit3.Enabled :=true;
   edit4.Enabled :=true;
   edit5.Enabled :=true;
   edit1.SetFocus ;
   
   edit1.Text :='';
   edit2.Text :='';
   edit3.Text :='';
   edit4.Text :='';
   edit5.Text :='';

   delbitbtn.Enabled :=false;
   modbitbtn.Enabled :=false;

end;

procedure Tfunitbase.delBitBtnClick(Sender: TObject);
begin
    if unittable.IsEmpty then
    begin
    application.MessageBox('没有公司信息可供删除!','删除公司信息时出错',MB_OK+MB_ICONEXCLAMATION);
    Exit;
    end;

    if MessageDlg('确实要删除这条公司信息?',mtInformation,[mbYes,mbNo],0)=mrYes then
      begin
      dtmdl.Database1.StartTransaction;
      DelQuery.ParamByName('unit_id').AsInteger :=unitid;
      try
      DelQuery.ExecSQL;
      except
      dtmdl.Database1.Rollback;
      Application.MessageBox('删除公司信息出错!','系统错误',MB_OK+MB_ICONERROR);
      Exit;
      end;
      dtmdl.Database1.Commit;
      unittable.Close;
      unittable.Open;
   end;
end;

procedure Tfunitbase.modBitBtnClick(Sender: TObject);
begin
    newormod:='modify';

//    edit1.Enabled :=true;
    edit2.Enabled :=true;
    edit3.Enabled :=true;
    edit4.Enabled :=true;
    edit5.Enabled :=true;
    edit2.SetFocus ;
    
    addbitbtn.Enabled :=false;
    delbitbtn.Enabled :=false;

end;

procedure Tfunitbase.savBitBtnClick(Sender: TObject);
begin
     if edit1.Text ='' then
     begin
     showmessage('必须输入分公司编号!');
     edit1.SetFocus ;
     exit;
     end;

     if edit2.Text ='' then
     begin
     showmessage('必须输入分公司名称!');
     edit2.SetFocus ;
     exit;
     end;


 if newormod='insert' then
  begin
     unitquery.ParamByName('unit_id').AsInteger :=strtoint(edit1.Text );
     unitquery.Close;
     unitquery.Open;
     if not unitquery.IsEmpty then
      begin
       showmessage('已经有重复的分公司编号,输入错误!') ;
       edit1.Text :='';
       edit1.SetFocus ;
       exit;
      end;
  addquery.ParamByName('unit_id').AsInteger :=strtoint(edit1.Text);
  addquery.ParamByName('unit_name').asstring :=edit2.Text;
  addquery.ParamByName('unit_address').asstring :=edit3.Text;
  addquery.ParamByName('unit_phone').asstring :=edit4.Text;
  addquery.ParamByName('unit_manager').asstring :=edit5.Text;
   try
   addquery.ExecSQL ;
   except
   showmessage('添加分公司时出错!');
   exit;
   end;
 end;
 if newormod='modify' then
  begin
   modquery.ParamByName('unit_id').AsInteger :=strtoint(edit1.Text );
   modquery.ParamByName('unit_name').asstring :=edit2.Text;
   modquery.ParamByName('unit_address').asstring :=edit3.Text;
   modquery.ParamByName('unit_phone').asstring :=edit4.Text;
   modquery.ParamByName('unit_manager').asstring :=edit5.Text;
    try
    modquery.ExecSQL ;
    except
    showmessage('修改分公司信息时出错!');
    exit;
    end;
  end;

  unittable.Close;
  unittable.Open;

  addbitbtn.Enabled :=true;
  delbitbtn.Enabled :=true;
  modbitbtn.Enabled :=true;
  edit1.Enabled :=false;
  edit2.Enabled :=false;
  edit3.Enabled :=false;
  edit4.Enabled :=false;
  edit5.Enabled :=false;
  
end;

procedure Tfunitbase.canBitBtnClick(Sender: TObject);
begin
   addbitbtn.Enabled :=true;
   delbitbtn.Enabled :=true;
   modbitbtn.Enabled :=true;
   edit1.Enabled :=false;
   edit2.Enabled :=false;
   edit3.Enabled :=false;
   edit4.Enabled :=false;
   edit5.Enabled :=false;

end;

procedure Tfunitbase.exiBitBtnClick(Sender: TObject);
begin
   close;
end;

procedure Tfunitbase.unitTableAfterScroll(DataSet: TDataSet);
begin
   unitid:=dataset.fieldbyname('unit_id').AsInteger ;
   edit1.Text :=inttostr(dataset.fieldbyname('unit_id').AsInteger);
   edit2.Text :=dataset.fieldbyname('unit_name').AsString ;
   edit3.Text :=dataset.fieldbyname('unit_address').AsString ;
   edit4.Text :=dataset.fieldbyname('unit_phone').AsString ;
   edit5.Text :=dataset.fieldbyname('unit_manager').AsString ;
end;


end.

⌨️ 快捷键说明

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