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

📄 frminputsellbill.pas

📁 这是一个商品管理系统
💻 PAS
字号:
unit FrmInputSellBill;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ADODB, StdCtrls, DB, ExtCtrls;

type
  TFormInputSellBill = class(TForm)
    Label2: TLabel;
    Label3: TLabel;
    Shape1: TShape;
    EditTime: TEdit;
    BtnNew: TButton;
    BtnInput: TButton;
    BtnOK: TButton;
    EditNote: TEdit;
    DataSet: TADODataSet;
    CBCommodity: TComboBox;
    Label1: TLabel;
    CBDepot: TComboBox;
    Label6: TLabel;
    CBCustomer: TComboBox;
    Label7: TLabel;
    CBPayment: TComboBox;
    Label8: TLabel;
    Label9: TLabel;
    Shape2: TShape;
    CmdInputSellBill: TADOCommand;
    EditSysUser: TEdit;
    EditAmount: TEdit;
    Label4: TLabel;
    procedure FormShow(Sender: TObject);
    procedure BtnInputClick(Sender: TObject);
    procedure BtnNewClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormInputSellBill: TFormInputSellBill;

implementation

{$R *.dfm}

procedure TFormInputSellBill.FormShow(Sender: TObject);
var
        DateTime : TDateTime;
        i, Min, Max:integer;
        item: string;
begin
        DateTime := Date;
        EditTime.Text := DateToStr(DateTime);
        DateTime := Time;
        EditTime.Text := EditTime.Text + ' ' + TimeToStr(DateTime);

        CBCommodity.Clear;
        DataSet.Active := False;
        DataSet.CommandText := 'select name from Commodity';
        DataSet.Active := True;
        Min := 0;
        Max := DataSet.RecordCount;
        DataSet.First;
        for i := Min to (Max-1) do
        begin
                item := DataSet.FieldByName('name').AsString;
                CBCommodity.Items.Add(item);
                DataSet.Next;
        end;

        CBDepot.Clear;
        DataSet.Active := False;
        DataSet.CommandText := 'select name from Depot';
        DataSet.Active := True;
        Min := 0;
        Max := DataSet.RecordCount;
        DataSet.First;
        for i := Min to (Max-1) do
        begin
                item := DataSet.FieldByName('name').AsString;
                CBDepot.Items.Add(item);
                DataSet.Next;
        end;

        CBCustomer.Clear;
        DataSet.Active := False;
        DataSet.CommandText := 'select name from Customer';
        DataSet.Active := True;
        Min := 0;
        Max := DataSet.RecordCount;
        DataSet.First;
        for i := Min to (Max-1) do
        begin
                item := DataSet.FieldByName('name').AsString;
                CBCustomer.Items.Add(item);
                DataSet.Next;
        end;

        CBPayment.Clear;
        DataSet.Active := False;
        DataSet.CommandText := 'select name from Payment';
        DataSet.Active := True;
        Min := 0;
        Max := DataSet.RecordCount;
        DataSet.First;
        for i := Min to (Max-1) do
        begin
                item := DataSet.FieldByName('name').AsString;
                CBPayment.Items.Add(item);
                DataSet.Next;
        end;
end;

procedure TFormInputSellBill.BtnInputClick(Sender: TObject);
var
        CommodityID, SysUserID, DepotID, CustomerID, PaymentID: string;
        Amount: Integer;
begin
        DataSet.Active := false;
        DataSet.CommandText := 'select id from Commodity where name = ''' + CBCommodity.Text + '''';
        DataSet.Active := true;
        if not(DataSet.IsEmpty) then
        begin
               CommodityID := DataSet.FieldByName('id').AsString;
        end
        else
        begin
               Application.MessageBox('无效的商品名称!', '错误', MB_OK);
               Exit;
        end;

        DataSet.Active := false;
        DataSet.CommandText := 'select id from SysUser where name = ''' + EditSysUser.Text + '''';
        DataSet.Active := true;
        if not(DataSet.IsEmpty) then
        begin
               SysUserID := DataSet.FieldByName('id').AsString;
        end
        else
        begin
               Application.MessageBox('无效的用户名称!', '错误', MB_OK);
               Exit;
        end;
        
        DataSet.Active := false;
        DataSet.CommandText := 'select id from Depot where name = ''' + CBDepot.Text + '''';
        DataSet.Active := true;
        if not(DataSet.IsEmpty) then
        begin
               DepotID := DataSet.FieldByName('id').AsString;
        end
        else
        begin
               Application.MessageBox('无效的仓库名称!', '错误', MB_OK);
               Exit;
        end;

        DataSet.Active := false;
        DataSet.CommandText := 'select id from Customer where name = ''' + CBCustomer.Text + '''';
        DataSet.Active := true;
        if not(DataSet.IsEmpty) then
        begin
               CustomerID := DataSet.FieldByName('id').AsString;
        end
        else
        begin
               Application.MessageBox('无效的客户名称!', '错误', MB_OK);
               Exit;
        end;

        DataSet.Active := false;
        DataSet.CommandText := 'select id from Payment where name = ''' + CBPayment.Text + '''';
        DataSet.Active := true;
        if not(DataSet.IsEmpty) then
        begin
               PaymentID := DataSet.FieldByName('id').AsString;
        end
        else
        begin
               Application.MessageBox('无效的付款方式名称!', '错误', MB_OK);
               Exit;
        end;

        Amount := StrToInt(EditAmount.Text);
        if (Amount <= 0) then
        begin
               Application.MessageBox('进货数量不能为负!', '错误', MB_OK);
               Exit;
        end;
        
        CmdInputSellBill.CommandText :=
                'INSERT INTO SellBill Values('''
                + EditTime.Text                  
                + ''','''
                + CommodityID 
                + ''','''
                + IntToStr(Amount)
                + ''','''
                + SysUserID
                + ''','''
                + DepotID
                + ''','''
                + CustomerID
                + ''','''
                + PaymentID
                + ''','''
                + EditNote.Text
                + ''','
                + '0'
                +  ')';
        try
                CmdInputSellBill.Execute;
        except
                ShowMessage('录入失败,请正确输入!');
                exit;
        end;
        ShowMessage('录入成功!');
        BtnNewClick(sender);
end;

procedure TFormInputSellBill.BtnNewClick(Sender: TObject);
var
        DateTime: TDateTime;
begin
        DateTime := Date;
        EditTime.Text := DateToStr(DateTime);
        DateTime := Time;
        EditTime.Text := EditTime.Text + ' ' + TimeToStr(DateTime);

        CBCommodity.Text := '';
        CBDepot.Text := '';
        CBCustomer.Text := '';
        CBPayment.Text := '';
        EditNote.Text := '';
        EditAmount.Text := '';
end;

end.

⌨️ 快捷键说明

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