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

📄 ypgl.pas

📁 很好的药店进销存系统
💻 PAS
字号:
unit ypgl;

interface

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

type
  Typgl_Form = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Panel1: TPanel;
    ypmc_LEdit: TLabeledEdit;
    cmdok: TButton;
    Query1: TQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    bh_LEdit: TLabeledEdit;
    mc_LEdit: TLabeledEdit;
    sj_LEdit: TLabeledEdit;
    jj_LEdit: TLabeledEdit;
    cj_LEdit: TLabeledEdit;
    cmdadd: TButton;
    cmdmodi: TButton;
    cmddel: TButton;
    Label1: TLabel;
    zl_CBox: TComboBox;
    procedure cmdokClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure cmdaddClick(Sender: TObject);
    procedure cmdmodiClick(Sender: TObject);
    procedure cmddelClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  ypgl_Form: Typgl_Form;

implementation

uses main, data;

{$R *.dfm}

procedure Typgl_Form.cmdokClick(Sender: TObject);
var
    mc,sqlstr:string;
begin
    mc:=trim(ypmc_LEdit.Text);
    if length(mc)<1 then
    begin
        sqlstr:='select * from 药品信息 order by 编号';
    end
    else
    begin
        mc:='%'+mc+'%';
        sqlstr:='select * from 药品信息 where (名称 like '''+mc+''') order by 编号';
    end;
    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add(sqlstr);
    Query1.Open;
    if Query1.RecordCount>0 then
    begin
        cmdmodi.Enabled:=true;
        cmddel.Enabled:=true;
        cmdadd.Enabled:=true;
    end
    else
    begin
        cmdmodi.Enabled:=false;
        cmddel.Enabled:=false;
        cmdadd.Enabled:=true;
    end;
    bh_LEdit.Clear;
    mc_LEdit.Clear;
    sj_LEdit.Clear;
    jj_LEdit.Clear;
    cj_LEdit.Clear;
end;

procedure Typgl_Form.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    Action:=caFree;
    mainform.N21.Enabled:=true;
end;

procedure Typgl_Form.FormCreate(Sender: TObject);
begin
    Query1.SessionName:=DM_form.Database1.SessionName;
    Query1.DatabaseName:=DM_form.Database1.DatabaseName;
end;

procedure Typgl_Form.DBGrid1CellClick(Column: TColumn);
begin
    if Query1.RecordCount>0 then
    begin
        bh_LEdit.Text:=Query1.fieldbyname('编号').AsString;
        mc_LEdit.Text:=Query1.fieldbyname('名称').AsString;
        sj_LEdit.Text:=Query1.fieldbyname('售价').AsString;
        jj_LEdit.Text:=Query1.fieldbyname('进价').AsString;
        cj_LEdit.Text:=Query1.fieldbyname('厂家').AsString;
        zl_CBox.ItemIndex:=Query1.fieldbyname('种类').AsInteger;
    end;
end;

procedure Typgl_Form.cmdaddClick(Sender: TObject);
var
    mc,bh,sj,jj,zl,cj,sqlstr:string;
begin
    bh:=trim(bh_LEdit.Text);
    if length(bh)<1 then
    begin
        ShowMessage('药品编号不能为空');
        exit;
    end;
    mc:=trim(mc_LEdit.Text);
    if length(mc)<1 then
    begin
        ShowMessage('药品名称不能为空');
        exit;
    end;
    sj:=trim(sj_LEdit.Text);
    if length(sj)<1 then
    begin
        ShowMessage('药品售价不能为空');
        exit;
    end;
    jj:=trim(jj_LEdit.Text);
    if length(jj)<1 then
    begin
        ShowMessage('药品进价不能为空');
        exit;
    end;
    cj:=trim(cj_LEdit.Text);
    if length(cj)<1 then
    begin
        ShowMessage('药品厂家不能为空');
        exit;
    end;
    zl:=inttostr(zl_cbox.ItemIndex);
    sqlstr:='select * from 药品信息 where(编号='''+bh+''')';
    with TQuery.Create(nil) do
    begin
        try
        Close;
        SessionName:=DM_form.Database1.SessionName;
        DatabaseName:=DM_form.Database1.DatabaseName;
        SQL.Clear;
        SQL.Add(sqlstr);
        Open;
        if RecordCount > 0 then
        begin
            ShowMessage('添加的编号有重复,请重新输入!');
            exit;
        end
        else
        begin
            sqlstr:='insert into 药品信息(编号,名称,售价,进价,种类,厂家)values('''+bh;
            sqlstr:=sqlstr+''','''+mc+''','''+sj+''','''+jj+''','''+zl+''','''+cj+''')';
            Close;
            SQL.Clear;
            SQL.Add(sqlstr);
            ExecSQL;
        end;
        finally
        Free;
        end;
        ShowMessage('成功添加药品信息!');
        cmdok.Click;
    end;
end;

procedure Typgl_Form.cmdmodiClick(Sender: TObject);
var
    id,mc,bh,sj,jj,zl,cj,sqlstr:string;
begin
    bh:=trim(bh_LEdit.Text);
    if length(bh)<1 then
    begin
        ShowMessage('药品编号不能为空');
        exit;
    end;
    mc:=trim(mc_LEdit.Text);
    if length(mc)<1 then
    begin
        ShowMessage('药品名称不能为空');
        exit;
    end;
    sj:=trim(sj_LEdit.Text);
    if length(sj)<1 then
    begin
        ShowMessage('药品售价不能为空');
        exit;
    end;
    jj:=trim(jj_LEdit.Text);
    if length(jj)<1 then
    begin
        ShowMessage('药品进价不能为空');
        exit;
    end;
    cj:=trim(cj_LEdit.Text);
    if length(cj)<1 then
    begin
        ShowMessage('药品厂家不能为空');
        exit;
    end;
    zl:=inttostr(zl_cbox.ItemIndex);
    id:=Query1.fieldbyname('id').AsString;
    sqlstr:='select * from 药品信息 where(编号='''+bh+''')and(id<>'''+id+''')';
    with TQuery.Create(nil) do
    begin
        try
        Close;
        SessionName:=DM_form.Database1.SessionName;
        DatabaseName:=DM_form.Database1.DatabaseName;
        SQL.Clear;
        SQL.Add(sqlstr);
        Open;
        if RecordCount > 0 then
        begin
            ShowMessage('添加的编号有重复,请重新输入!');
            exit;
        end
        else
        begin
            sqlstr:='update  药品信息 set 编号='''+bh+''',名称='''+mc;
            sqlstr:=sqlstr+''',售价='''+sj+''',进价='''+jj+''',种类='''+zl;
            sqlstr:=sqlstr+''',厂家='''+cj+''' where(id='''+id+''')';
            Close;
            SQL.Clear;
            SQL.Add(sqlstr);
            ExecSQL;
        end;
        finally
        Free;
        end;
        ShowMessage('成功添加药品信息!');
        cmdok.Click;
    end;
end;

procedure Typgl_Form.cmddelClick(Sender: TObject);
var
    id:string;
begin
    try
    if MessageDlg('确认要删除选中的药品信息吗?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
    begin
        id:=Query1.fieldbyname('id').AsString;
        with tquery.Create(nil) do
        begin
            try
            Close;
            DatabaseName:=DM_form.Database1.DatabaseName;
            SessionName:=DM_form.Database1.SessionName;
            SQL.Clear;
            SQL.Add('delete from 药品信息 where id='''+id+'''');
            ExecSQL;
            finally
            Free;
            end;
        end;
        ShowMessage('成功删除药品信息');
        cmdok.Click;
    end;
    except
    end;
end;

end.

⌨️ 快捷键说明

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