📄 unit4.pas
字号:
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, DBTables, DBCtrls, Grids, DBGrids, ExtCtrls,
QuickRpt;
type
TForm4 = class(TForm)
Query1: TQuery;
DataSource1: TDataSource;
Button3: TButton;
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
Label1: TLabel;
DBLookupComboBox1: TDBLookupComboBox;
DBLookupComboBox2: TDBLookupComboBox;
Label6: TLabel;
Label7: TLabel;
ComboBox1: TComboBox;
Button1: TButton;
Edit1: TEdit;
Label2: TLabel;
GroupBox2: TGroupBox;
Query2: TQuery;
Query3: TQuery;
DataSource2: TDataSource;
DataSource3: TDataSource;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label9: TLabel;
Label10: TLabel;
Edit2: TEdit;
DBLookupComboBox3: TDBLookupComboBox;
DBLookupComboBox4: TDBLookupComboBox;
Button4: TButton;
Query4: TQuery;
Button2: TButton;
Label11: TLabel;
Memo1: TMemo;
Label8: TLabel;
Edit3: TEdit;
Button5: TButton;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
uses Unit7;
{$R *.dfm}
procedure TForm4.Button1Click(Sender: TObject);
var s,t:string;
i:integer;
begin
if combobox1.Text<>'' then
begin
if (strtoint(edit1.Text)>100) or (edit1.Text='') then
begin
showmessage('请填写正确的分数');
exit;
end;
s:='select * from student.db where 成绩'+combobox1.Text+''''+edit1.Text+'''';
t:='分数'+combobox1.Text+edit1.Text;
if dblookupcombobox1.Text<>'' then
begin
s:=s+' and 班级='+''''+dblookupcombobox1.Text+'''';
t:=t+' 班级为'+dblookupcombobox1.Text;
end;
if dblookupcombobox2.Text<>'' then
begin
s:=s+' and 科目='+''''+dblookupcombobox2.Text+'''';
t:=t+' 选择科目为'+dblookupcombobox2.Text;
end;
query1.Close;
query1.SQL.Clear;
query1.sql.Add(s);
query1.Open;
i:=query1.recordcount;
t:='有'+inttostr(i)+'个学生符合条件 '+t;
memo1.text:=t;
end;
if combobox1.Text='' then
showmessage('必须指定查询方式!');
end;
procedure TForm4.Button3Click(Sender: TObject);
begin
close;
end;
procedure TForm4.Button2Click(Sender: TObject);
begin
if query1.Eof=false then
begin
form7.quickrep1.Preview;
end
else begin
showmessage('请先查询数据!');
end;
end;
procedure TForm4.Button4Click(Sender: TObject);
var s,t:string;
begin
s:='select sum(成绩*学分)/sum(学分) from student.db where 成绩<=100';
if (dblookupcombobox3.Text='') and (edit2.Text='') and (edit3.Text='') and (dblookupcombobox4.Text='') then
t:='全部学生';
if dblookupcombobox3.Text<>'' then
begin
s:=s+' and 科目='+''''+dblookupcombobox3.Text+'''';
t:=t+' 课程为'+dblookupcombobox3.Text+' ';
end;
if edit2.Text<>'' then
begin
s:=s+'and 学号='+''''+edit2.Text+'''';
t:=t+' 学号'+edit2.Text+' ';
end;
if edit3.Text<>'' then
begin
s:=s+'and 姓名='+''''+edit3.Text+'''';
t:=t+' 姓名'+edit3.Text+' ';
end;
if dblookupcombobox4.Text<>'' then
begin
s:=s+' and 班级='+''''+dblookupcombobox4.Text+'''';
t:=t+' 班级'+dblookupcombobox4.Text+' ';
end;
query4.Close;
query4.SQL.Clear;
query4.sql.Add(s);
query4.Open;
t:=t+'平均分为: ';
Memo1.Text:=t+query4.Fields[0].AsString;
end;
procedure TForm4.FormActivate(Sender: TObject);
begin
query2.Active;
query3.Active;
end;
procedure TForm4.Button5Click(Sender: TObject);
begin
if query1.Eof=false then
begin
form7.quickrep1.Print;
end
else begin
showmessage('请先查询数据!');
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -