📄 dj.pas
字号:
unit Dj;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, Menus, StdCtrls, Buttons, Mask,
DBTables, ExtCtrls, FR_DSet, FR_DBSet, FR_Class;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Query1: TADOQuery;
MainMenu1: TMainMenu;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N7: TMenuItem;
ADOConnection1: TADOConnection;
Panel1: TPanel;
ComboBox1: TComboBox;
Button1: TButton;
RD: TRadioGroup;
N8: TMenuItem;
frReport1: TfrReport;
frDBDataSet1: TfrDBDataSet;
ADOTable1: TADOTable;
N1: TMenuItem;
N2: TMenuItem;
N6: TMenuItem;
N10: TMenuItem;
ADOTable2: TADOTable;
frDBDataSet2: TfrDBDataSet;
frReport2: TfrReport;
N9: TMenuItem;
N11: TMenuItem;
procedure N3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N11Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses about,search,list1;
{$R *.dfm}
procedure TForm1.N3Click(Sender: TObject);
var
SL: TStrings;
index: Integer;
flag:Boolean;
begin
SL := TStringList.Create;
flag:=false;
try
ADOConnection1.GetTableNames(SL, False); //取得表名
for index := 0 to (SL.Count - 1) do
begin
if UpperCase(SL[index])=UpperCase('BMK1')then //判断给定表是否存在
flag:=true;
end;
if flag then
begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM BMK1');
Open;
end; {with}
Form1.Caption :='本次等级考试总人数:'+inttostr(query1.RecordCount )+'人';
end {if}
else
begin
query1.DisableControls;
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * INTO BMK1 FROM (SELECT * FROM bmk ORDER BY RIGHT(bmh,4) ASC)');
EXECSQL;
SQL.Clear;
SQL.Add('SELECT * FROM BMK1');
Open;
end; {with}
query1.EnableControls ;
Form1.Caption :='本次等级考试总人数:'+inttostr(query1.RecordCount )+'人';
end;{else}
finally
SL.Free;
end; {try}
end;
procedure TForm1.FormShow(Sender: TObject);
begin
form4.show;
with Query1 do
begin
Close ;
SQL.Clear ;
SQL.Add('Select * from bmk');
Open;
end;
end;
procedure TForm1.N4Click(Sender: TObject);
var
SL1: TStrings;
index1: Integer;
flag1:Boolean;
begin
SL1 := TStringList.Create;
flag1:=false;
try
ADOConnection1.GetTableNames(SL1, False); //取得表名
for index1 := 0 to (SL1.Count - 1) do
begin
if UpperCase(SL1[index1])=UpperCase('tonji')then //判断给定表是否存在
flag1:=true;
end; {for}
if flag1 then
begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM tonji');
OPEN;
end; {with}
end {if}
else
begin
query1.DisableControls;
with Query1 do
begin
Close ;
SQL.Clear;
SQL.LoadFromFile('tj.sql');
EXECSQL;
SQL.Clear;
SQL.Add('INSERT INTO tonji SELECT (SELECT name1 from kemu where name1="总计") as 科目 ,SUM(考试总人数) as 考试总人数,SUM(全考人数) as 全考人数,SUM(补考上机人数) as 补考上机人数, SUM(补考笔试人数) as 补考笔试人数 from tonji');
EXECSQL;
SQL.Clear;
SQL.Add('alter table tonji alter column 科目 varchar(20)');
EXECSQL;
SQL.Clear;
SQL.Add('SELECT * FROM tonji');
open;
end; {with}
query1.EnableControls;
end; {else}
finally
SL1.Free;
end; {try}
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
case combobox1.itemindex of //分类统计分析
0: begin
case RD.itemindex of
0:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="12") and (blcjzl IS NULL) ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{0}
1:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="12") and (blcjzl="1") ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{1}
2:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="12") and (blcjzl="2") ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{2}
end{case}
end;{0}
1: begin
case RD.itemindex of
0:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="13") and (blcjzl IS NULL) ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{0}
1:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="13") and (blcjzl="1") ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{1}
2:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="13") and (blcjzl="2") ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{2}
end{case}
end;{1}
2: begin
case RD.itemindex of
0:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="14") and (blcjzl IS NULL) ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{0}
1:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="14") and (blcjzl="1") ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{1}
2:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="14") and (blcjzl="2") ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{2}
end{case}
end;{2}
3:begin
case RD.itemindex of
0:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="15") and (blcjzl IS NULL) ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{0}
1:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="15") and (blcjzl="1") ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{1}
2:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="15") and (blcjzl="2") ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{2}
end{case}
end;{3}
4:begin
case RD.itemindex of
0:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="21") and (blcjzl IS NULL) ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{0}
1:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="21") and (blcjzl="1") ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{1}
2:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="21") and (blcjzl="2") ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{2}
end{case}
end;{4}
5:begin
case RD.itemindex of
0:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="24") and (blcjzl IS NULL) ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{0}
1:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="24") and (blcjzl="1") ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{1}
2:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="24") and (blcjzl="2") ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{2}
end{case}
end;{5}
6:begin
case RD.itemindex of
0:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="25") and (blcjzl IS NULL) ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{0}
1:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="25") and (blcjzl="1") ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{1}
2:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="25") and (blcjzl="2") ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{2}
end{case}
end;{6}
7:begin
case RD.itemindex of
0:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="26") and (blcjzl IS NULL) ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{0}
1:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="26") and (blcjzl="1") ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{1}
2:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="26") and (blcjzl="2") ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{2}
end{case}
end;{7}
8:begin
case RD.itemindex of
0:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="27") and (blcjzl IS NULL) ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{0}
1:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="27") and (blcjzl="1") ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{1}
2:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="27") and (blcjzl="2") ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
end;{2}
end{case}
end;{8}
9:begin
case RD.itemindex of
0:begin
with Query1 do
begin
Close ;
SQL.Clear;
SQL.Add('SELECT * FROM bmk WHERE (LEFT(RIGHT(bmh,6),2)="28") and (blcjzl IS NULL) ORDER BY RIGHT(BMH,4) ASC');
open;
end;{with}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -