📄 ypgl.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 + -