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

📄 goodsedunit.pas

📁 简单的进销存系统,包含登陆等界面,内容丰富,各种技巧,适合初学者
💻 PAS
字号:
unit GoodsEdUnit;

interface

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

type
  TGoodsEdForm = class(TForm)
    PanelBkGnd: TPanel;
    Panel_button: TPanel;
    Bevel_button: TBevel;
    OKBtn: TButton;
    CancelBtn: TButton;
    FlatPanel_edit: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label5: TLabel;
    Label4: TLabel;
    Label7: TLabel;
    ADOQuery_data: TADOQuery;
    ADOCommand_data: TADOCommand;
    ADOQuery_temp: TADOQuery;
    E_NAME: TEdit;
    E_type: TEdit;
    E_ID: TEdit;
    E_unit: TEdit;
    E_price: TEdit;
    E_sellprice: TEdit;
    procedure E_NAMEKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormCreate(Sender: TObject);
    procedure OKBtnClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure CancelBtnClick(Sender: TObject);
  private
    { Private declarations }
  public
    P_state: integer;
    { Public declarations }
  end;

var
  GoodsEdForm: TGoodsEdForm;

implementation

uses MainUnit, FunctionUnit, GoodsSelectUnit, DMUnit;
{$R *.dfm}

procedure TGoodsEdForm.E_NAMEKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (key = 13) or (key = 40) then { 判断是按执行键}
  begin
    key := 0;
    perform(WM_NEXTDLGCTL, 0, 0); {移动到下一个控件}
  end;
end;

procedure TGoodsEdForm.FormCreate(Sender: TObject);
begin
  adoquery_data.Connection := dm.ADOCon;
end;

procedure TGoodsEdForm.OKBtnClick(Sender: TObject);
begin
  {
  if trim(E_name.Text) = '' then
  begin
    messagedlg(Errormsg0002, mtError, [mbok], 0);
    E_name.SetFocus;
    exit;
  end;
  if trim(E_type.Text) = '' then
  begin
    messagedlg(Errormsg0002, mtError, [mbok], 0);
    E_name.SetFocus;
    exit;
  end;
  if trim(E_ID.Text) = '' then
  begin
    messagedlg(Errormsg0002, mtError, [mbok], 0);
    E_id.SetFocus;
    exit;
  end; }
  if P_state = 0 then //增加数据
  begin
        with adoquery_data do
        begin
                close;
                sql.Clear;
                sql.Text := 'select * from goods where id="' + uppercase(E_id.Text) + '"';
                try
                        open;
                except
                        messagedlg(Errormsg0001 , mtError, [mbok], 0);
                        close;
                        self.Close;
                end;
                if RecordCount > 0 then //编号已存在
                begin
                        messagedlg(Errormsg0003, mtError, [mbok], 0);
                        E_id.SetFocus;
                        close;
                        exit;
                end
                else //编号不存在则增加
                begin
                       {with adoquery_data do
                        begin
                        close;
                        sql.Clear ;
                        sql.Text:='insert into goods (name,type,id,unit,price,sellprice,memo) values (:name,:type,:id,:unit,:price,:sellprice,:memo)';

                        Parameters.Items[0].Value :=e_name.Text ;
                        Parameters.Items[1].Value :=e_type.Text ;
                        Parameters.Items[2].Value :=e_id.Text ;
                        Parameters.Items[3].Value :=e_unit.Text ;
                        Parameters.Items[4].Value :=e_price.Text ;
                        Parameters.Items[5].Value :=e_sellprice.Text ;
                        Parameters.Items[6].Value :=e_memo.Text ;
                        prepared:=true;
                        execsql;
                        messagedlg('保存成功!', mtInformation, [mbok], 0);
                        self.Close;
                        end;
                end;
        end;}
                         with adoquery_data do
                         begin
                                close;
                                sql.Clear;
                                sql.Text:='insert into goods (name,type,id,unit,price,sellprice) values (:name,:type,:id,:unit,:price,:sellprice)';
                                Parameters.Items[0].Value :=e_name.Text ;
                                Parameters.Items[1].Value :=e_type.Text ;
                                Parameters.Items[2].Value :=e_id.Text ;
                                Parameters.Items[3].Value :=e_unit.Text ;
                                Parameters.Items[4].Value :=e_price.Text ;
                                Parameters.Items[5].Value :=e_sellprice.Text ;
                                Prepared:=true;
                                ExecSQL;
                        end;
                end;
        end;
    end
      else if P_state = 1 then //修改数据
        begin
        with adoquery_data do
            begin
                    close;
                    sql.Clear ;
                     sql.Text := 'update goods set name=:name,type=:type,unit=:unit,price=:price,sellprice=:sellprice where id:='''+e_id.Text+''' ';

                    {sql.Add('insert into goods(name,type,id,unit,price,sellprice,memo)');
                    sql.Add('values(:name,:type,:id,:unit,:price,:sellprice,:memo)'); }
                    Parameters.Items[0].Value :=e_name.Text ;
                    Parameters.Items[1].Value :=e_type.Text ;
                    Parameters.Items[2].Value :=e_id.Text ;
                    Parameters.Items[3].Value :=e_unit.Text ;
                    Parameters.Items[4].Value :=e_price.Text ;
                    Parameters.Items[5].Value :=e_sellprice.Text ;
                    prepared:=true;
                    execsql;
                    messagedlg('保存成功!', mtInformation, [mbok], 0);
                    self.Close;
            end;
        end;
  if P_state = 0 then //继续增加
  begin
    e_name.SetFocus;
    e_type.Text := '';
    e_unit.Text := '';
    e_price.Text := '';
    e_sellprice.Text := '';
  end
  else
    self.Close;
end;

procedure TGoodsEdForm.FormShow(Sender: TObject);

var
  B_find: boolean;
  I_temp: integer;
begin

end;

procedure TGoodsEdForm.CancelBtnClick(Sender: TObject);
begin


         self.Close;
end;

end   .



⌨️ 快捷键说明

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