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

📄 frminputstorebill.~pas

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

interface

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

type
  TFormInputStoreBill = 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;
    CBProvider: TComboBox;
    Label7: TLabel;
    CBDeliver: TComboBox;
    Label8: TLabel;
    Label9: TLabel;
    Shape2: TShape;
    CmdInputStoreBill: TADOCommand;
    EditSysUser: TEdit;
    Label4: TLabel;
    EditAmount: TEdit;
    procedure FormShow(Sender: TObject);
    procedure BtnNewClick(Sender: TObject);
    procedure BtnInputClick(Sender: TObject);
    function GetIDByName(name: string; table: string) : string;
    function GetNameByID(ID: string; table: string) : string;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormInputStoreBill: TFormInputStoreBill;

implementation

{$R *.dfm}

function TFormInputStoreBill.GetIDByName(name: string; table: string) : string;
begin
        DataSet.Active := false;
        DataSet.CommandText :=
                'select id from '
                + table
                + ' where name = '''
                + name
                + '''';
        DataSet.Active := true;
        if not(DataSet.IsEmpty) then
        begin
               GetIDByName := DataSet.FieldByName('id').AsString;
        end
        else
        begin
               Application.MessageBox('无效的商品名称!', '错误', MB_OK);
        end;
end;

function TFormInputStoreBill.GetNameByID(ID: string; table: string) : string;
begin
        DataSet.Active := false;
        DataSet.CommandText :=
                'select name from '
                + table
                + ' where id = '''
                + ID
                + '''';
        DataSet.Active := true;
        if not(DataSet.IsEmpty) then
        begin
               GetNameByID := DataSet.FieldByName('name').AsString;
        end
        else
        begin
               Application.MessageBox('无效的商品名称!', '错误', MB_OK);
        end;
end;

procedure TFormInputStoreBill.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;

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

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

procedure TFormInputStoreBill.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 := '';
        CBProvider.Text := '';
        CBDeliver.Text := '';
        EditNote.Text := '';
        EditAmount.Text := '';
end;

procedure TFormInputStoreBill.BtnInputClick(Sender: TObject);
var
        CommodityID, SysUserID, DepotID, ProviderID, DeliverID: string;
        Amount: integer;
begin
        CommodityID := GetIDByName(CBCommodity.Text, 'Commodity');
        SysUserID := GetIDByName(EditSysUser.Text, 'SysUser');
        DepotID := GetIDByName(CBDepot.Text, 'Depot');
        ProviderID := GetIDByName(CBProvider.Text, 'Provider');
        DeliverID := GetIDByName(CBDeliver.Text, 'Deliver');

        Amount := StrToInt(EditAmount.Text);
        if (Amount <= 0) then
        begin
               Application.MessageBox('进货数量不能为负!', '错误', MB_OK);
               Exit;
        end;

        CmdInputStoreBill.CommandText :=
                'INSERT INTO StoreBill Values('''
                + EditTime.Text                  
                + ''','''
                + CommodityID 
                + ''','''
                + IntToStr(Amount)
                + ''','''
                + SysUserID
                + ''','''
                + DepotID
                + ''','''
                + ProviderID
                + ''','''
                + DeliverID
                + ''','''
                + EditNote.Text
                + ''','
                + '0'
                +  ')';
        try
                CmdInputStoreBill.Execute;
        except
                ShowMessage('录入失败,请正确输入!');
                exit;
        end;
        ShowMessage('录入成功!');
        BtnNewClick(sender);
end;

end.

⌨️ 快捷键说明

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