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

📄 unit2.pas

📁 一个小型的仓库管理系统实现了出库和入库的基本功能
💻 PAS
字号:
unit Unit2;

interface

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

type
  TForm2 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    DateTimePicker1: TDateTimePicker;
    BitBtn1: TBitBtn;
    Label15: TLabel;
    TabSheet2: TTabSheet;
    BitBtn2: TBitBtn;
    TabSheet3: TTabSheet;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    Button3: TButton;
    BitBtn3: TBitBtn;
    DataSource1: TDataSource;
    StatusBar1: TStatusBar;
    ADOQuery1: TADOQuery;
    Button1: TButton;
    Button2: TButton;
    ADOCommand1: TADOCommand;
    DBGrid1: TDBGrid;
    Button4: TButton;
    Label9: TLabel;
    Label10: TLabel;
    RadioButton3: TRadioButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    TabSheet4: TTabSheet;
    DBGrid2: TDBGrid;
    Edit9: TEdit;
    DataSource2: TDataSource;
    ADOTable1: TADOTable;
    DBNavigator1: TDBNavigator;
    ADOConnection1: TADOConnection;

    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure PageControl1Changing(Sender: TObject;var AllowChange:Boolean);
    procedure Button4Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation
uses Unit3,Unit4,Unit6,Unit5, Unit9;
{$R *.dfm}


procedure TForm2.Button1Click(Sender: TObject);
var
  gnum:Integer;
  gnumstr:string;
   imno:string;



begin
if pagecontrol1.ActivePage=tabsheet1 then
begin
if (Edit1.Text='') then
    begin
    showmessage('输入货物号属性不能为空');
    end
  else
    begin
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Text:='select * from good where 货物号='''+Edit1.Text+''' ';
    ADOQuery1.Open;
    if(ADOQuery1.FieldByName('货物号').AsString='') then
      begin
        if  (Edit2.Text='')or(Edit3.Text='')or(Edit4.Text='')or(Edit5.Text='')or(Edit6.Text='') then
             begin
             showmessage('输入属性不能为空');
             end
        else
          begin
          ADOCommand1.CommandText:='INSERT INTO good VALUES('''+Edit1.text+''','''+Edit6.text+''','''+Edit2.text+''','''+Edit3.text+''','''+Edit4.text+''','''+Edit5.text+''') ';
          ADOCommand1.Execute;

            ADOQuery1.Close;
            ADOQuery1.SQL.Clear;
            ADOQuery1.SQL.Text:='select 入库编号 from import where 入库编号=(select max(入库编号) from import) ';
            ADOQuery1.Open;
           imno:=IntToStr(ADOQuery1.FieldByName('入库编号').AsInteger+1);



          ADOCommand1.CommandText:='INSERT INTO import VALUES('''+imno+''','''+Edit1.text+''','''+Edit2.text+''','''+datetimetostr(datetimepicker1.date)+''') ';
          ADOCommand1.Execute;
          ShowMessage(' '''+Edit1.text+''' 成功入库');


          form3.show;
          form2.Hide;
           Edit1.Text:='';//所有输入框中的值清空
           Edit2.Text:='';
           Edit3.Text:='';
           Edit4.Text:='';
           Edit5.Text:='';
           Edit6.Text:='';
          end
      end
    else
      begin
        if  Edit2.Text='' then
             begin
             showmessage('输入货物数属性不能为空');
             end
        else
             begin
              gnum:=StrToInt(Edit2.text);
              ADOQuery1.Close;
              ADOQuery1.SQL.Clear;
              ADOQuery1.SQL.Add('SELECT 货物数 FROM good where (货物号='''+Edit1.Text+''')');
              ADOQuery1.Open;
              gnum:=ADOQuery1.FieldByName('货物数').AsInteger+gnum;
              Edit9.Text:=IntToStr(gnum);
              ADOCommand1.CommandText:='UPDATE good SET 货物数='''+Edit9.Text+''' WHERE (货物号='''+Edit1.text+''')';
              ADOCommand1.Execute;

              ADOQuery1.Close;
              ADOQuery1.SQL.Clear;
              ADOQuery1.SQL.Text:='select 入库编号 from import where 入库编号=(select max(入库编号) from import) ';
              ADOQuery1.Open;
              imno:=IntToStr(ADOQuery1.FieldByName('入库编号').AsInteger+1);
             ADOCommand1.CommandText:='INSERT INTO import VALUES('''+imno+''','''+Edit1.text+''','''+Edit2.text+''' ,'''+datetimetostr(datetimepicker1.date)+''') ';
             ADOCommand1.Execute;
             ShowMessage(''''+Edit1.text+''' 成功入库');

             form3.show;
             form2.Hide;
             Edit1.Text:='';//所有输入框中的值清空
           Edit2.Text:='';
           Edit3.Text:='';
           Edit4.Text:='';
           Edit5.Text:='';
           Edit6.Text:='';
             end

      end
    end
end
end;



procedure TForm2.Button2Click(Sender: TObject);
var
  a:Integer;
  b:Integer;

  exno:string;

begin
if pagecontrol1.ActivePage=tabsheet2 then
begin
if Edit7.Text='' then
    begin
    showmessage('输入货物号属性不能为空');
    end
  else
    begin
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;

    ADOQuery1.SQL.Text:='select 货物号 from good where (货物号='''+Edit7.Text+''') ';
    ADOQuery1.Open;
    if(ADOQuery1.FieldByName('货物号').AsString='') then
        begin

        showmessage('对不起,您要找的货物不存在');
        end
    else
      begin
        ADOQuery1.Close;
        ADOQuery1.SQL.Clear;
        ADOQuery1.SQL.Text:='select 货物数  from good where (货物号='''+Edit7.Text+''') ';
        ADOQuery1.Open;
        a:= StrToInt(Edit8.text);
        b:= StrToInt(ADOQuery1.FieldByName('货物数').AsString);
       if (a>b) then
          begin
          showmessage('对不起,您要找的货物的数量不足');
          end
       else
          begin
           ADOQuery1.Close;
           ADOQuery1.SQL.Clear;
           ADOQuery1.SQL.Text:='select 出库编号 from export where 出库编号=(select max(出库编号) from export) ';
           ADOQuery1.Open;
           exno:=IntToStr(ADOQuery1.FieldByName('出库编号').AsInteger+1);


          ADOCommand1.CommandText:='INSERT INTO export VALUES('''+exno+''','''+Edit7.text+''','''+Edit8.text+''','''+datetimetostr(datetimepicker1.date)+''') ';
          ADOCommand1.Execute;
          ShowMessage(' '''+Edit7.text+''' 成功出库');
          if (a=b) then
              begin
              ADOCommand1.CommandText:='DELETE FROM good WHERE 货物号='''+Edit7.text+'''';
              ADOCommand1.Execute;
              end
          else
              begin

              ADOQuery1.Close;
              ADOQuery1.SQL.Clear;
              ADOQuery1.SQL.Add('SELECT 货物数 FROM good where (货物号='''+Edit7.Text+''')');
              ADOQuery1.Open;
              a:=ADOQuery1.FieldByName('货物数').AsInteger-a;
              Edit9.Text:=IntToStr(a);


              ADOCommand1.CommandText:='UPDATE  good SET 货物数='''+Edit9.Text+''' WHERE (货物号='''+Edit7.text+''') ';
              ADOCommand1.Execute;
              form4.show;
              form2.Hide;
              Edit7.Text:='';
              Edit8.Text:='';
              end
          end
      end

    end

end
end;

procedure TForm2.Button3Click(Sender: TObject);
begin
    if pagecontrol1.ActivePage=tabsheet3 then
       begin
          if radiobutton1.Checked=true then
             begin
             form6.show;      //修改界面
             form2.Hide;
             end
          else
             if radiobutton2.Checked=true then
                 begin
                 form5.show;        //追加界面
                 form2.Hide;
                 end
             else
              if radiobutton3.Checked=true then
                 begin
                 form9.show;        //查询界面
                 form2.Hide;
                 end

       end
end;


procedure TForm2.PageControl1Changing(Sender: TObject;var AllowChange:Boolean);
begin
   Edit1.Text:='';//所有输入框中的值清空
   Edit2.Text:='';
   Edit3.Text:='';
   Edit4.Text:='';
   Edit5.Text:='';
   Edit6.Text:='';
   Edit7.Text:='';
   Edit8.Text:='';
   radiobutton1.Checked:=true;
   radiobutton2.Checked:=false;
   radiobutton3.Checked:=false;
end;
procedure TForm2.Button4Click(Sender: TObject);
begin
  if pagecontrol1.ActivePage=tabsheet2 then
     begin
     ADOQuery1.SQL.Clear;
     ADOQuery1.SQL.Add('SELECT * FROM good ORDER BY 货物号');
     ADOQuery1.Close;
     ADOQuery1.Open;
     end
end;





procedure TForm2.FormCreate(Sender: TObject);
begin

     ADOQuery1.SQL.Clear;
     ADOQuery1.SQL.Add('SELECT * FROM good ORDER BY 货物号');
     ADOQuery1.Close;
     ADOQuery1.Open;
   
end;

end.

⌨️ 快捷键说明

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