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

📄 querymenu.pas

📁 住宿餐饮 - 订餐管理系统,DelPhi写的。适合酒店
💻 PAS
字号:
unit QueryMenu;

interface

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

type
  TfrmQueryMenu = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label5: TLabel;
    RadioGroup1: TRadioGroup;
    hotdish: TRadioButton;
    cooldish: TRadioButton;
    maindish: TRadioButton;
    drink: TRadioButton;
    MenuName: TEdit;
    LowPrice: TEdit;
    MenuID: TEdit;
    flavorCombox: TComboBox;
    bthClear: TButton;
    DBGrid1: TDBGrid;
    GroupBox2: TGroupBox;
    sortasc: TRadioButton;
    SortDesc: TRadioButton;
    GroupBox3: TGroupBox;
    id: TRadioButton;
    kind: TRadioButton;
    name: TRadioButton;
    price: TRadioButton;
    flavor: TRadioButton;
    Query1: TQuery;
    DataSource1: TDataSource;
    btnQuery: TButton;
    GroupBox4: TGroupBox;
    DBNavigator1: TDBNavigator;
    procedure sortascClick(Sender: TObject);
    procedure SortDescClick(Sender: TObject);
    procedure idClick(Sender: TObject);
    procedure kindClick(Sender: TObject);
    procedure nameClick(Sender: TObject);
    procedure priceClick(Sender: TObject);
    procedure flavorClick(Sender: TObject);
    procedure bthClearClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure btnQueryClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
    sql : string;
  public
    { Public declarations }
  end;

var
  frmQueryMenu: TfrmQueryMenu;

implementation

uses QueryUser;

{$R *.dfm}

procedure TfrmQueryMenu.sortascClick(Sender: TObject);
var
    context : string;
begin
    if( id.Checked = true )
        then context := '编号'
    else if ( kind.Checked = true )
        then context := '种类'
    else if ( name.Checked )
        then context := '名称'
    else if ( price.checked )
        then context := '单价'
    else if ( flavor.checked )
        then context := '风味';

    //改变查询语句
    Query1.close;
    Query1.SQL.Clear;
    Query1.SQL.Add(sql + ' order by '+context+' asc');
    //重新查询
    try
        Query1.Open;
    except
        Query1.ExecSQL;
    end;
end;

procedure TfrmQueryMenu.SortDescClick(Sender: TObject);
var
    context : string;
begin
    if( id.Checked = true )
        then context := '编号'
    else if ( kind.Checked = true )
        then context := '种类'
    else if ( name.Checked )
        then context := '名称'
    else if ( price.checked )
        then context := '单价'
    else if ( flavor.checked )
        then context := '风味';

    //改变查询语句
    Query1.close;
    Query1.SQL.Clear;
    Query1.SQL.Add(sql + ' order by '+context+' desc');
    //重新查询
    try
        Query1.Open;
    except
        Query1.ExecSQL;
    end;

end;


procedure TfrmQueryMenu.idClick(Sender: TObject);
var
    sorttype : string;
begin
    //确定排序方式
    if ( sortasc.Checked )
        then
        sorttype := 'asc'
    else
        sorttype := 'desc';

    //更新表格

    //改变查询语句
    Query1.close;
    Query1.SQL.Clear;
    Query1.SQL.Add(sql + ' order by 编号 ' + sorttype);
    //重新查询
    try
        Query1.Open;
    except
        Query1.ExecSQL;
    end;
end;

procedure TfrmQueryMenu.kindClick(Sender: TObject);
var
    sorttype : string;
begin
    //确定排序方式
    if ( sortasc.Checked )
        then
        sorttype := 'asc'
    else
        sorttype := 'desc';

    //更新表格

    //改变查询语句
    Query1.close;
    Query1.SQL.Clear;
//    Query1.SQL.Add('select * from Menu order by 种类 ' + sorttype);
    Query1.SQL.Add(sql + ' order by 种类 ' + sorttype);
    //重新查询
    try
        Query1.Open;
    except
        Query1.ExecSQL;
    end;
end;

procedure TfrmQueryMenu.nameClick(Sender: TObject);
var
    sorttype : string;
begin
    //确定排序方式
    if ( sortasc.Checked )
        then
        sorttype := 'asc'
    else
        sorttype := 'desc';

    //更新表格

    //改变查询语句
    Query1.close;
    Query1.SQL.Clear;
//    Query1.SQL.Add('select * from Menu order by 名称 ' + sorttype);
    Query1.SQL.Add(sql + ' order by 名称 ' + sorttype);
    //重新查询
    try
        Query1.Open;
    except
        Query1.ExecSQL;
    end;
end;


procedure TfrmQueryMenu.priceClick(Sender: TObject);
var
    sorttype : string;
begin
    //确定排序方式
    if ( sortasc.Checked )
        then
        sorttype := 'asc'
    else
        sorttype := 'desc';

    //更新表格

    //改变查询语句
    Query1.close;
    Query1.SQL.Clear;
//    Query1.SQL.Add('select * from Menu order by 单价 ' + sorttype);
    Query1.SQL.Add(sql + ' order by 单价 ' + sorttype);
    //重新查询
    try
        Query1.Open;
    except
        Query1.ExecSQL;
    end;
end;


procedure TfrmQueryMenu.flavorClick(Sender: TObject);
var
    sorttype : string;
begin
    //确定排序方式
    if ( sortasc.Checked )
        then
        sorttype := 'asc'
    else
        sorttype := 'desc';

    //更新表格

    //改变查询语句
    Query1.close;
    Query1.SQL.Clear;
//    Query1.SQL.Add('select * from Menu order by 风味 ' + sorttype);
    Query1.SQL.Add(sql + ' order by 风味 ' + sorttype);
    //重新查询
    try
        Query1.Open;
    except
        Query1.ExecSQL;
    end;
end;

procedure TfrmQueryMenu.bthClearClick(Sender: TObject);
begin
    MenuId.Text := '';
    MenuName.Text := '';
    flavorCombox.ItemIndex := 0;
    lowPrice.Text := '';
    hotdish.Checked := false;
    cooldish.Checked := false;
    maindish.Checked := false;
    drink.Checked := false;
end;

procedure TfrmQueryMenu.FormCreate(Sender: TObject);
begin
    //
    sql := 'select * from Menu ';
end;

procedure TfrmQueryMenu.btnQueryClick(Sender: TObject);
var
    flag : boolean;
    low , high : integer;
    kind : string;
begin
    sql := 'select * from Menu ';
    flag := false;
    
    if frmQueryUser.isInteger(MenuID.Text) then
    begin
        flag := true;
        sql := sql + 'where 编号='''+MenuID.Text+'''';
    end;

    if MenuName.Text <> ''  then
    begin
        if flag then
            sql := sql + ' and 名称='''+MenuName.Text+''''
        else
            sql := sql + ' where 名称='''+MenuName.Text+''''
    end;

    if  flavorCombox.Text <> '' then
    begin
        if flag then
            sql := sql + ' and 风味='''+flavorCombox.Text+''''
        else
            sql := sql + ' where 风味='''+flavorCombox.Text+''''
    end;

    kind := '';
    if hotdish.Checked = true then kind := '热菜';
    if cooldish.Checked = true then kind := '凉菜';
    if maindish.Checked = true then kind := '主食';
    if drink.Checked = true then kind := '饮料';

    if kind <> '' then
    begin
    if flag then
        sql := sql + ' and 种类 = ''' + kind + ''''
    else
        sql := sql + ' where 种类 = ''' + kind + '''';
    end;
    
    if frmQueryUser.isInteger(LowPrice.Text) then
    begin
        if flag then
            sql := sql + ' and 单价='''+lowPrice.Text+''''
        else
            sql := sql + ' where 单价='''+lowPrice.Text+''''
    end;

    //根据字符串sql进行查询
    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add(sql);
    try
        Query1.Open;
    except
        Query1.ExecSQL();
    end;
end;

procedure TfrmQueryMenu.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
        Query1.Close();
    self.Free;

end;

end.

⌨️ 快捷键说明

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