📄 ypkcgl.pas
字号:
unit ypkcgl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, DBTables, StdCtrls, ExtCtrls;
type
Typkcgl_Form = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Panel1: TPanel;
ypmc_LEdit: TLabeledEdit;
cmdok: TButton;
Query1: TQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
kc_LEdit: TLabeledEdit;
xx_LEdit: TLabeledEdit;
cmdadd: TButton;
cmdmodi: TButton;
cmddel: TButton;
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
ypkcgl_Form: Typkcgl_Form;
implementation
uses main, data;
{$R *.dfm}
procedure Typkcgl_Form.cmdokClick(Sender: TObject);
var
mc,sqlstr:string;
begin
mc:=trim(ypmc_LEdit.Text);
if length(mc)<1 then
begin
sqlstr:='select a.编号,a.名称,isnull(b.库存,0) as 库存,isnull(b.下限,0) as 下限 from 药品信息 a left outer join 库存数据 b on a.编号=b.编号 order by a.编号';
end
else
begin
mc:='%'+mc+'%';
sqlstr:='select a.编号,a.名称,isnull(b.库存,0) as 库存,isnull(b.下限,0) as 下限 from 药品信息 a left outer join 库存数据 b on (a.编号=b.编号) where(a.名称 like '''+mc+''') order by a.编号';
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;
kc_LEdit.Clear;
xx_LEdit.Clear;
end;
procedure Typkcgl_Form.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
mainform.N22.Enabled:=true;
end;
procedure Typkcgl_Form.FormCreate(Sender: TObject);
begin
Query1.SessionName:=DM_form.Database1.SessionName;
Query1.DatabaseName:=DM_form.Database1.DatabaseName;
end;
procedure Typkcgl_Form.DBGrid1CellClick(Column: TColumn);
begin
if Query1.RecordCount>0 then
begin
kc_LEdit.Text:=Query1.fieldbyname('库存').AsString;
xx_LEdit.Text:=Query1.fieldbyname('下限').AsString;
end;
end;
procedure Typkcgl_Form.cmdaddClick(Sender: TObject);
var
bh,kc,xx,sqlstr:string;
begin
bh:=Query1.fieldbyname('编号').AsString;
kc:=trim(kc_LEdit.Text);
if length(kc)<1 then
begin
ShowMessage('药品库存数量不能为空');
exit;
end;
xx:=trim(xx_LEdit.Text);
if length(xx)<1 then
begin
ShowMessage('药品下限不能为空');
exit;
end;
with TQuery.Create(nil) do
begin
try
Close;
SessionName:=DM_form.Database1.SessionName;
DatabaseName:=DM_form.Database1.DatabaseName;
sqlstr:='insert into 库存数据(编号,库存,下限)values('''+bh+''','''+kc+''','''+xx+''')';
SQL.Clear;
SQL.Add(sqlstr);
ExecSQL;
finally
Free;
end;
ShowMessage('成功添加药品库存数据信息!');
cmdok.Click;
end;
end;
procedure Typkcgl_Form.cmdmodiClick(Sender: TObject);
var
bh,kc,xx,sqlstr:string;
begin
bh:=Query1.fieldbyname('编号').AsString;
kc:=trim(kc_LEdit.Text);
if length(kc)<1 then
begin
ShowMessage('药品库存数量不能为空');
exit;
end;
xx:=trim(xx_LEdit.Text);
if length(xx)<1 then
begin
ShowMessage('药品下限不能为空');
exit;
end;
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
if MessageDlg('在药品库存数据没有该药品的库存数据信息,需要添加吗?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
sqlstr:='insert into 库存数据(编号,库存,下限)values('''+bh+''','''+kc+''','''+xx+''')';
SQL.Clear;
SQL.Add(sqlstr);
ExecSQL;
cmdok.Click;
exit;
end
else
exit;
end;
sqlstr:='update 库存数据 set 库存='''+kc+''',下限='''+xx+''' where(编号='''+bh+''')';
SQL.Clear;
SQL.Add(sqlstr);
ExecSQL;
finally
Free;
end;
ShowMessage('成功修改药品库存数据信息!');
cmdok.Click;
end;
end;
procedure Typkcgl_Form.cmddelClick(Sender: TObject);
var
bh:string;
begin
try
if MessageDlg('确认要删除选中的药品库存数据吗?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
bh:=Query1.fieldbyname('bh').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 编号='''+bh+'''');
ExecSQL;
finally
Free;
end;
end;
ShowMessage('成功删除药品库存数据');
cmdok.Click;
end;
except
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -