unitsetsuptype_data.pas

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

PAS
137
字号
unit unitsetsuptype_data;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, ComCtrls;

type
  Tformsetsuptype_data = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    but_ok: TButton;
    but_cancel: TButton;
    ed_dicname: TEdit;
    ed_dicvalue: TEdit;
    riched_dicdiscribe: TRichEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure but_cancelClick(Sender: TObject);
    procedure but_okClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  formsetsuptype_data: Tformsetsuptype_data;

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

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

//保存记录
procedure Tformsetsuptype_data.but_okClick(Sender: TObject);
var
       ls_dicid,ls_dicname,ls_dicvalue,ls_dicdiscribe:string;
                             itemno,itemtype:string;
begin
       if MessageDlg('您确定要保存该记录吗?',mtConfirmation,[mbYes,mbNo],0)= mrNO then
          exit;

       //丛输入框中取数据,插入到dictionary表中或用作修改
       ls_dicname:=ed_dicname.Text;
       ls_dicvalue:=ed_dicvalue.Text;
       ls_dicdiscribe:=riched_dicdiscribe.Text;
       //如果未输入酒菜类型
       if ls_dicname='' then
          begin
             showmessage('请输入酒菜类型!');
             ed_dicvalue.Text:='';
             riched_dicdiscribe.Text:='';
             ed_dicname.SetFocus;
             exit;
          end;

       //进行插入或修改操作
       if AddorModify=1 then      //插入记录
          begin
              //先从item_number表中取出最大记录号,再做相应处理
              itemtype:='dictionaryid';
              itemno:='8';
              DMHotel.FindMaxNumber(itemtype,itemno);
             
              //插入字典表记录和将最大值回写入item_number表

              SQL:='insert into dictionary '+'values('+''''+itemno+''''+','+
                   ''''+'supclass'+''''+','+''''+ls_dicname+''''+','+
                   ''''+ls_dicvalue+''''+','+''''+ls_dicdiscribe+''''+')';
              DMHotel.ADOQuery1.SQL.Text:=SQL;
              try
                   DMHotel.ADOQuery1.ExecSQL;
              except
                   showmessage('录入失败!');
                   exit;
              end;

              //将最大值回写
              DMHotel.RewriteMax(itemtype,itemno);

          end
       else                      //修改记录
          begin
             ls_dicid:=DMHotel.ds_dictionary_setsuptype.FieldByName('dicid').AsString;
             SQL:='update dictionary '+'set dicname='+''''+ls_dicname+''''+','+
                  'dicvalue='+''''+ls_dicvalue+''''+','+
                  'dicdiscribe='+''''+ls_dicdiscribe+''''+' '+
                  'where dicid='+''''+ls_dicid+'''';
             //showmessage(sql);
             DMHotel.ADOQuery1.SQL.Text:=SQL;
             try
               DMHotel.ADOQuery1.ExecSQL;
             except
               showmessage('修改失败!');
               exit;
             end;
          end;

       DMHotel.ds_dictionary_setsuptype.Requery;
       close;
end;

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

    if AddorModify=0 then  //修改状态
       begin
          ed_dicname.Text:=DMHotel.ds_dictionary_setsuptype.FieldByName('dicname').AsString;
          ed_dicvalue.Text:=DMHotel.ds_dictionary_setsuptype.FieldByName('dicvalue').AsString;
          riched_dicdiscribe.Text:=DMHotel.ds_dictionary_setsuptype.FieldByName('dicdiscribe').AsString;
          ed_dicname.Enabled:=false;//主键不可改
          ed_dicvalue.SetFocus;
       end
    else    //录入状态
       begin
          //清空原来的目录
          ed_dicname.Text:='';
          ed_dicvalue.Text:='';
          riched_dicdiscribe.Text:='';
          ed_dicname.Enabled:=true;
          ed_dicname.SetFocus;
       end;
end;

end.

⌨️ 快捷键说明

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