⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c_dc.pas

📁 《delphi数据库设计与实例开发》随书光盘
💻 PAS
字号:
unit c_dc;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, DB, Mask, DBCtrls;

type
  Tcfrm_dc = class(TForm)
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    ComboBox1: TComboBox;
    RadioGroup1: TRadioGroup;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    Panel5: TPanel;
    GroupBox2: TGroupBox;
    Panel6: TPanel;
    Panel7: TPanel;
    Panel8: TPanel;
    GroupBox3: TGroupBox;
    BitBtn1: TBitBtn;
    Panel9: TPanel;
    GroupBox4: TGroupBox;
    ListBox2: TListBox;
    BitBtn3: TBitBtn;
    GroupBox5: TGroupBox;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    BitBtn2: TBitBtn;
    procedure BitBtn3Click(Sender: TObject);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);
    procedure BitBtn1Click(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  cfrm_dc: Tcfrm_dc;

implementation

uses c_datam, About;

{$R *.dfm}

procedure Tcfrm_dc.BitBtn3Click(Sender: TObject);
var mes:string;
begin
  if Combobox1.Text='' then
   begin
   mes:='请选择桌号!';application.MessageBox(pchar(mes),pchar('提示')
       ,+MB_ICONQUESTION);
   Combobox1.SetFocus;
   exit;
   end;
  Panel2.Enabled:=true;
  dm.ADO_foodtype.Open;
end;

procedure Tcfrm_dc.DataSource1DataChange(Sender: TObject; Field: TField);
begin
    with dm.ADOQ_dish do
    begin
    Close;
    SQL.clear;
    SQL.add('select * from Dish where Dish_type=:id');
    Parameters.ParamByName('id').value:=dm.ADO_foodtype.fieldbyname('type').asstring;
    Open;
    end;
end;

procedure Tcfrm_dc.BitBtn1Click(Sender: TObject);
begin
  Listbox2.Items.Add(ComboBox1.Text+'桌------>'+dm.ADOQ_dish.fieldbyname('Dish_name').asstring);

  if length(ComboBox1.Text)=0 then
    Messagedlg('请选择桌位!',mtError,[mbOK],0)
  else
    begin
      with dm.ADO_table do         //将餐桌状态设为1
        begin
          close;

          open;
          locate('table_id',Combobox1.Text,[]);
          edit;
          fieldbyname('table_state').AsString:='满';
          post;
        end;
        
      with dm.ADO_meals do       //将菜单存入表meals中
        begin
          close;
          open;
          append;
          fieldbyname('table_id').AsString:=trim(ComboBox1.Text);
           fieldbyname('Dish_type').AsString:=dm.ADO_foodtype.fieldbyname('type').AsString;
          fieldbyname('Dish_name').AsString:=dm.adoq_dish.fieldbyname('Dish_name').AsString;
          fieldbyname('Dish_cost').AsString:=dm.adoq_dish.fieldbyname('Dish_cost').AsString;
          post;
        end;
    end;
end;

procedure Tcfrm_dc.RadioGroup1Click(Sender: TObject);
begin
   Combobox1.Items.Clear;
   case RadioGroup1.ItemIndex of
0:begin
    dm.ado_table.sort:='table_id';
    dm.ADO_table.First;
    while not dm.ADO_table.Eof do
    begin
     if (dm.ADO_table.FieldByName('table_type').AsString='四人桌') and (dm.ADO_table.FieldByName('table_state').AsString='空') then
     Combobox1.Items.Add(dm.ADO_table.fieldbyname('table_id').AsString);
     dm.ADO_table.Next;
    end;
  end;
1:begin
    dm.ado_table.sort:='table_id';
    dm.ADO_table.First;
    while not dm.ADO_table.Eof do
    begin
     if (dm.ADO_table.FieldByName('table_type').AsString='六人桌') and (dm.ADO_table.FieldByName('table_state').AsString='空') then
     Combobox1.Items.Add(dm.ADO_table.fieldbyname('table_id').AsString);
     dm.ADO_table.Next;
    end;
  end;
2:begin
    dm.ado_table.sort:='table_id';
    dm.ADO_table.First;
    while not dm.ADO_table.Eof do
    begin
     if (dm.ADO_table.FieldByName('table_type').AsString='八人桌') and (dm.ADO_table.FieldByName('table_state').AsString='空') then
     Combobox1.Items.Add(dm.ADO_table.fieldbyname('table_id').AsString);
     dm.ADO_table.Next;
    end;
  end;
 end;
 Groupbox1.Enabled:=true;
 Bitbtn3.Enabled:=true;
 end;

procedure Tcfrm_dc.FormClose(Sender: TObject; var Action: TCloseAction);
begin
dm.ADO_table.Close;
dm.ADO_foodtype.Close;
dm.ADOQ_dish.Close;
release;
end;

procedure Tcfrm_dc.FormCreate(Sender: TObject);
begin
dm.ADO_table.Open;
end;

procedure Tcfrm_dc.BitBtn2Click(Sender: TObject);
begin
 dm.ADO_table.Close;
dm.ADO_foodtype.Close;
dm.ADOQ_dish.Close;
close;
end;

end.

⌨️ 快捷键说明

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