unitsetsupprice_data.pas
来自「自己做过的工程」· PAS 代码 · 共 179 行
PAS
179 行
unit unitsetsupprice_data;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
Tformsetsupprice_data = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
but_ok: TButton;
but_cancel: TButton;
ed_supno: TEdit;
ed_supname: TEdit;
ed_supunit: TEdit;
ed_supprice: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
cbox_supclass: TComboBox;
procedure FormShow(Sender: TObject);
procedure but_cancelClick(Sender: TObject);
procedure but_okClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
formsetsupprice_data: Tformsetsupprice_data;
implementation
uses unitDMHotel,unitsetprice;
{$R *.dfm}
//显示窗口时的初始设置
procedure Tformsetsupprice_data.FormShow(Sender: TObject);
var
bopen:boolean;
begin
//初始化下拉列表框cbox_supclass
bOpen:=DMHotel.ds_dictionary.Active;
cbox_supclass.Items.Clear;
if not bOpen then
DMHotel.ds_dictionary.Open
else
DMHotel.ds_dictionary.First;
while not DMHotel.ds_dictionary.Eof do
begin
if DMHotel.ds_dictionary.FieldValues['dicsort']='supclass' then
cbox_supclass.Items.Add(DMHotel.ds_dictionary.FieldValues['dicname']);
DMHotel.ds_dictionary.Next;
end;
if not bOpen then
DMHotel.ds_dictionary.Close;
cbox_supclass.ItemIndex:=0;
//确保数据集打开
DMHotel.ds_sup_price_set.Open;
if AddorModify=0 then //修改状态
begin
ed_supno.Text:=DMHotel.ds_sup_price_set.FieldByName('supno').AsString;
ed_supname.Text:=DMHotel.ds_sup_price_set.FieldByName('supname').AsString;
cbox_supclass.Text:=DMHotel.ds_sup_price_set.FieldByName('supclass').AsString;
ed_supunit.Text:=DMHotel.ds_sup_price_set.FieldByName('supunit').AsString;
ed_supprice.Text:=DMHotel.ds_sup_price_set.FieldByName('supprice').AsString;
ed_supno.Enabled:=false;//主键不可改
cbox_supclass.SetFocus;
end
else //录入状态
begin
//清空原来的目录
ed_supno.Text:='';
ed_supname.Text:='';
cbox_supclass.ItemIndex:=0;
ed_supunit.Text:='';
ed_supprice.Text:='';
ed_supno.Enabled:=true;
ed_supno.SetFocus;
end;
end;
procedure Tformsetsupprice_data.but_cancelClick(Sender: TObject);
begin
close;
end;
//保存记录
procedure Tformsetsupprice_data.but_okClick(Sender: TObject);
var
ls_supno,ls_supname,ls_supclass,ls_supunit,ls_supprice:string;
test_supprice:double;
begin
if MessageDlg('您确定要保存该记录吗?',mtConfirmation,[mbYes,mbNo],0)= mrNO then
exit;
//丛输入框中取数据,插入到sup_price_set表中或用作修改
ls_supno:=ed_supno.Text;
ls_supname:=ed_supname.Text;
ls_supclass:=cbox_supclass.Text;
ls_supunit:=ed_supunit.Text;
ls_supprice:=ed_supprice.Text;
//如果未输入酒菜编号
if ls_supno='' then
begin
showmessage('请输入酒菜编号!');
ed_supname.Text:='';
cbox_supclass.ItemIndex:=0;
ed_supunit.Text:='';
ed_supprice.Text:='';
ed_supno.SetFocus;
exit;
end;
//判断是否是数字型
if not tryStrToFloat(ls_supprice,test_supprice) then
begin
MessageBox(handle,'您输入的酒菜价格,不是一个实数!','错误',MB_OK or MB_ICONERROR);
ed_supprice.SetFocus;
exit;
end;
//进行插入或修改操作
if AddorModify=1 then //插入记录
begin
//看酒菜编号是否重复
DMHotel.ds_sup_price_set.Open;
DMHotel.ds_sup_price_set.First;
while not DMHotel.ds_sup_price_set.Eof do
begin
if DMHotel.ds_sup_price_set.FieldValues['supno']=trim(ed_supno.Text) then
begin
showmessage('该编号已存在,请另外选择一个酒菜编号!');
exit;
end;
DMHotel.ds_sup_price_set.Next;
end;
SQL:='insert into sup_price_set '+'values('+''''+ls_supno+''''+','+
''''+ls_supname+''''+','+''''+ls_supclass+''''+','+
''''+ls_supunit+''''+','+''''+ls_supprice+''''+')';
DMHotel.ADOQuery1.SQL.Text:=SQL;
try
DMHotel.ADOQuery1.ExecSQL;
except
showmessage('录入失败!');
exit;
end;
end
else //修改记录
begin
SQL:='update sup_price_set '+'set supname='+''''+ls_supname+''''+','+
'supclass='+''''+ls_supclass+''''+','+
'supunit='+''''+ls_supunit+''''+','+
'supprice='+''''+ls_supprice+''''+' '+'where supno='+
''''+ls_supno+'''';
DMHotel.ADOQuery1.SQL.Text:=SQL;
try
DMHotel.ADOQuery1.ExecSQL;
except
showmessage('修改失败!');
exit;
end;
end;
DMHotel.ds_sup_price_set.Requery;
close;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?