📄 xuanke.pas
字号:
unit xuanke;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, DB, DBTables, ExtCtrls, DBCtrls,
ComCtrls, Menus, Mask, ADODB;
type
Txuanke1 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Label1: TLabel;
GroupBox2: TGroupBox;
Button5: TButton;
Button1: TButton;
Panel1: TPanel;
GroupBox3: TGroupBox;
Button2: TButton;
Button6: TButton;
Button7: TButton;
Label4: TLabel;
ComboBox1: TComboBox;
Label5: TLabel;
Edit8: TEdit;
Button3: TButton;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
Button4: TButton;
DBEdit2: TDBEdit;
Label2: TLabel;
Edit1: TEdit;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
TabSheet3: TTabSheet;
Label3: TLabel;
Label6: TLabel;
Button8: TButton;
Button9: TButton;
DBEdit1: TDBEdit;
DBEdit3: TDBEdit;
DataSource1: TDataSource;
Button10: TButton;
procedure Button5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure filldata;
end;
var
xuanke1: Txuanke1;
implementation
uses moudle;
{$R *.dfm}
procedure Txuanke1.filldata;
var
i:integer;
begin
if mydatamodule.ADOQueryg.Active=false then
mydatamodule.ADOQueryg.Active:=true;
combobox1.Items.Clear;
for i:=0 to mydatamodule.ADOQueryg.Fields.Count-1 do
begin
combobox1.Items.Add(mydatamodule.ADOQueryg.Fields[i].FieldName);
end;
combobox1.ItemIndex:=0;
end;
procedure Txuanke1.Button5Click(Sender: TObject);
var
s:string;
begin
s:=edit1.Text;
if length(s)<>11 then
begin
showmessage('对不起,您输入有误'+#13+#13+'请重新输入');
edit1.Text:='';
edit1.SetFocus;
dbgrid1.Enabled:=false;
end
else
begin
with mydatamodule.ADOQuerySTU do
begin
close;
sql.Clear;
sql.Add('select * from student where student.sno like ''%'+edit1.Text+'%'';');
open;
end;
if mydatamodule.ADOQuerySTU.RecordCount>0 then
begin
showmessage('对不起,您输入有误!!');
edit1.Text:='';
edit1.SetFocus;
dbgrid1.Enabled:=false;
end
else
begin
dbgrid1.Enabled:=true;
dbgrid1.SetFocus;
button2.Enabled:=true;
button6.Enabled:=true;
end;
end;
end;
procedure Txuanke1.Button1Click(Sender: TObject);
begin
application.Terminate;
end;
procedure Txuanke1.Button2Click(Sender: TObject);
var
s:string;
i,j,k:integer;
begin
with mydatamodule.ADOQueryg do
begin
Close;
SQL.Clear;
SQL.Add('select max(xno) from xuanti ');
Open;
end;
if mydatamodule.ADOQuerySUB.Active=false then
mydatamodule.ADOQuerySUB.Active:=true;
i:=mydatamodule.ADOQueryg.Fields[0].AsInteger;
j:=mydatamodule.ADOQuerySUB.Fields[4].AsInteger;
k:=mydatamodule.ADOQuerySUB.Fields[7].AsInteger+1;
if (j>=k) then
begin
i:=i+1;
with mydatamodule.ADOQueryg do
begin
Close;
SQL.Clear;
s:='insert into guaili (xno,cno,sno) values ("'+inttostr(i)+'","'+dbedit2.text+'","'+edit1.text+'")';
SQL.Add(s);
ExecSQL;
end;
with mydatamodule.ADOQuery1 do
begin
Close;
sql.Clear;
SQL.Add('update subject set 实选人数=实选人数+1 where cno='+dbedit2.text+';');
ExecSQL;
end;
with mydatamodule.ADOQuerySUB do
begin
Close;
SQL.Clear;
SQL.Add('select * from course order by cno;');
Open;
end;
end
else
begin
showmessage('对不起,选修人数已满!');
edit1.Text:='';
edit1.SetFocus;
end;
end;
procedure Txuanke1.Button6Click(Sender: TObject);
begin
with mydatamodule.ADOQueryg do
begin
close;
sql.Clear;
sql.Add('select * from xuanti where cno="'+edit1.Text+'";');
open;
end;
if mydatamodule.ADOQueryg.RecordCount=0 then
showmessage('对不起,学号输入错误,请重输!')
else
begin
with mydatamodule.ADOQueryg do
begin
Close;
sql.Clear;
sql.Add('delete from xuanti where xuanti.sno like "%'+edit1.Text+'%"' );
ExecSQL;
end;
with mydatamodule.ADOQuery1 do
begin
Close;
sql.Clear;
SQL.Add('update subject set 实选人数=实选人数-1 where cno='+dbedit2.text+';');
ExecSQL;
end;
with mydatamodule.ADOQuerySUB do
begin
Close;
SQL.Clear;
SQL.Add('select * from course order by cno ;');
Open;
end;
end;
end;
procedure Txuanke1.Button7Click(Sender: TObject);
begin
application.Terminate;
end;
procedure Txuanke1.FormCreate(Sender: TObject);
begin
filldata;
button2.Enabled:=false;
button6.Enabled:=false ;
mydatamodule.ADOQuerySUB.Active:=true;
end;
procedure Txuanke1.Button4Click(Sender: TObject);
begin
dbgrid2.DataSource:=mydatamodule.DataSource3;
with mydatamodule.ADOQueryg do
begin
Close;
sql.Clear;
SQL.Add('select * from xuanti order by xuanti.xno');
Open;
end;
end;
procedure Txuanke1.Button3Click(Sender: TObject);
var
sq1,sq2:string;
begin
dbgrid2.DataSource:=mydatamodule.DataSource3;
sq1:=combobox1.Text;
sq2:=edit8.text;
if sq1='sno' then
begin
with mydatamodule.ADOQueryg do
begin
Close;
SQL.Clear;
SQL.Add('select student.sname,xuanti.sno,student.sdept,student.class,course.cno,xuanti.cno,xuanti.xno from course,xuanti,student where xuanti.'+sq1+' like "%'+sq2+'%" and ');
SQL.Add(' student.sno=xuanti.sno and subject.cno=xuanti.cno;');
open;
end;
end;
if sq1='xno' then
begin
with mydatamodule.ADOQueryg do
begin
Close;
SQL.Clear;
SQL.Add('select student.sname,xuanti.sno,student.sdept,student.class,course.cno,xuanti.cno,xuanti.xno from course,xuanti,student where xuanti.'+sq1+' like "%'+sq2+'%" and ');
SQL.Add(' student.sno=xuanti.sno and subject.cno=xuanti.cno;');
open;
end;
end;
if sq1='课程编号' then
begin
with mydatamodule.ADOQueryg do
begin
Close;
SQL.Clear;
SQL.Add('select student.sname,xuanti.sno,student.sdept,student.class,course.cno,xuanti.cno,xuanti.xno from course,xuanti,student where xuanti.'+sq1+' like "%'+sq2+'%" and ');
SQL.Add(' student.sno=xuanti.sno and subject.cno=xuanti.cno;');
open;
end;
end;
end;
procedure Txuanke1.N1Click(Sender: TObject);
begin
pagecontrol1.ActivePageIndex:=0;
end;
procedure Txuanke1.N2Click(Sender: TObject);
begin
pagecontrol1.ActivePageIndex:=1;
end;
procedure Txuanke1.N3Click(Sender: TObject);
begin
pagecontrol1.ActivePageIndex:=2;
end;
procedure Txuanke1.Button8Click(Sender: TObject);
begin
DBedit1.Enabled:=false;
MyDataModule.ADOQueryC.Edit;
end;
procedure Txuanke1.Button9Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure Txuanke1.Button10Click(Sender: TObject);
begin
MyDataModule.ADOQueryC.Post;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -