⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xuanke.pas

📁 毕业论文选题系统,用Delphi编的,希望对大家有帮助
💻 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 + -