📄 querymenu.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 + -