unitsetroomprice_data.pas

来自「自己做过的工程」· PAS 代码 · 共 95 行

PAS
95
字号
unit unitsetroomprice_data;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
  
type
  Tformsetroomprice_data = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    ed_roomprice: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    cbox_roomtype: TComboBox;
    but_ok: TButton;
    but_cancel: TButton;
    Label1: TLabel;
    procedure FormShow(Sender: TObject);
    procedure but_cancelClick(Sender: TObject);
    procedure but_okClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  formsetroomprice_data: Tformsetroomprice_data;

implementation
         uses unitDMHotel,unitsetprice;
{$R *.dfm}

//显示窗口时的初始设置
procedure Tformsetroomprice_data.FormShow(Sender: TObject);
begin
    //确保数据集打开
    DMHotel.ds_room_price_set.Open;

    //修改状态
    cbox_roomtype.Text:=DMHotel.ds_room_price_set.FieldByName('roomtype').AsString;
    ed_roomprice.Text:=DMHotel.ds_room_price_set.FieldByName('roomprice').AsString;
    cbox_roomtype.Enabled:=false;//主键不可改
    ed_roomprice.SetFocus;

end;

procedure Tformsetroomprice_data.but_cancelClick(Sender: TObject);
begin
    close;
end;

//保存记录
procedure Tformsetroomprice_data.but_okClick(Sender: TObject);
var
      ls_roomtype,ls_roomprice:string;
      test_roomprice:double;
begin
      if MessageDlg('您确定要保存该记录吗?',mtConfirmation,[mbYes,mbNo],0)= mrNO then
         exit;

       //丛输入框中取数据,修改room_price_set表中记录
       ls_roomtype:=cbox_roomtype.Text;
       ls_roomprice:=ed_roomprice.Text;

       //判断是否是数字型
       if not tryStrToFloat(ls_roomprice,test_roomprice) then
          begin
              MessageBox(handle,'您输入的房间价格,不是一个实数!','错误',MB_OK or MB_ICONERROR);
              ed_roomprice.SetFocus;
              exit;
          end;

       //进行修改操作
       DMHotel.ADOConnection1.BeginTrans;
       SQL:='update room_price_set '+'set roomprice='+''''+ls_roomprice+''''+' '+
            'where roomtype='+''''+ls_roomtype+'''';
       DMHotel.ADOQuery1.SQL.Text:=SQL;
       try
       DMHotel.ADOQuery1.ExecSQL;
       except
           showmessage('修改失败!');
           DMHotel.ADOConnection1.RollbackTrans;
           exit;
       end;
       DMHotel.ADOConnection1.CommitTrans;

       DMHotel.ds_room_price_set.Requery;
       close;
end;

end.

⌨️ 快捷键说明

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