📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls, Buttons, ComCtrls;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Query1: TQuery;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
Label1: TLabel;
BitBtn1: TBitBtn;
BitBtn5: TBitBtn;
GroupBox1: TGroupBox;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
Label2: TLabel;
Label3: TLabel;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
BitBtn9: TBitBtn;
BitBtn10: TBitBtn;
Label4: TLabel;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select 姓名, 工资*0.8 AS 实发工资 from employee');
Query1.Open;
Label1.Caption:='操作提示:查询姓名和工资两列数据,其中“工资”列的标题更改为“实发工资”';
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select * from employee where 学历="硕士研究生" and 性别="男"');
Query1.Open;
Label1.Caption:='操作提示:查询所有学历为“硕士研究生”的“男”雇员';
end;
procedure TForm1.BitBtn4Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select * from employee where 姓名 like "王%"');
Query1.Open;
Label1.Caption:='操作提示:查询所有姓氏为“王”的雇员';
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select * from employee');
Query1.Open;
Label1.Caption:='操作提示:从employee数据表查询各个记录的所有列数据';
end;
procedure TForm1.BitBtn5Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select * from employee where 生日>=:VarDate1 and 生日<:VarDate2');
Query1.ParamByName('VarDate1').AsDate:= DateTimePicker1.Date;
Query1.ParamByName('VarDate2').AsDate:= DateTimePicker2.Date;
Query1.Open;
Label1.Caption:='操作提示:使用生日的日期范围参数来查询符合条件的雇员';
end;
procedure TForm1.BitBtn6Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select employee.姓名,department.上班制度 from employee,department where employee.所在部门=department.部门编号');
Query1.Open;
Label1.Caption:='操作提示:姓名和上班制度两列数据分别来自employee、department数据表,它们是通过部门编号进行关联的';
end;
procedure TForm1.BitBtn7Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select 所在部门,姓名,学历 from employee where 员工编号 in (select 部门经理 from department)');
Query1.Open;
Label1.Caption:='操作提示:查询各个部门经理的姓名和学历';
end;
procedure TForm1.BitBtn8Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select 姓名, 工资 from employee order by 工资 asc'); //升序
//Query1.SQL.Add('Select 姓名, 工资 from employee order by 工资 desc'); //降序
Query1.Open;
Label1.Caption:='操作提示:按工资字段以递增的顺序返回所有雇员的姓名和工资两列数据';
end;
procedure TForm1.BitBtn9Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(' Select 所在部门, count(员工编号) as 部门人数 , avg(工资) as 平均工资,max(工资) as 最高工资,min(工资) as 最低工资 from employee group by 所在部门');
Query1.Open;
Label1.Caption:='操作提示:对部门进行分组,统计各个部门的人数、平均工资、最高工资、最低工资';
end;
procedure TForm1.BitBtn10Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(' Select 所在部门, count(员工编号) as 部门人数 from employee group by 所在部门 having count(员工编号)>4');
Query1.Open;
Label1.Caption:='操作提示:对部门进行分组,返回部门人数大于4的所在部门和部门人数两列数据';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -