📄 courseselect.pas
字号:
unit courseselect;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, StdCtrls, Grids, DBGrids, ADODB, Menus;
type
Tf_courseselect = class(TForm)
Cmbclass: TComboBox;
Label1: TLabel;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Label2: TLabel;
Cmbterm: TComboBox;
DataSource2: TDataSource;
DBGrid2: TDBGrid;
Label3: TLabel;
ADOqrycourse: TADOQuery;
ADOqrycourseID: TAutoIncField;
ADOqrycoursestudentno: TStringField;
ADOqrycoursecourseno: TStringField;
ADOqrycoursetermno: TStringField;
ADOqrycoursescore: TIntegerField;
ADOqrycoursename: TStringField;
ADOqrycoursecredit: TIntegerField;
ADOQuery1: TADOQuery;
ADOqrystudent: TADOQuery;
PopupMenu1: TPopupMenu;
N3: TMenuItem;
Label4: TLabel;
Cmbcourse: TComboBox;
Btnadd: TButton;
ADOQuery2: TADOQuery;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure CmbclassChange(Sender: TObject);
procedure ADOqrystudentAfterScroll(DataSet: TDataSet);
procedure N3Click(Sender: TObject);
procedure BtnaddClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
f_courseselect: Tf_courseselect;
implementation
{$R *.dfm}
procedure Tf_courseselect.FormCreate(Sender: TObject);
begin
cmbclass.Items.Clear ;
adoquery1.SQL.Clear ;
adoquery1.SQL.Add('select classno from class order by classno');
adoquery1.Open ;
while not adoquery1.Eof do
begin
cmbclass.Items.add(adoquery1.Fieldbyname('classno').AsString);
adoquery1.Next ;
end;
cmbterm.Items.Clear ;
adoquery1.SQL.Clear ;
adoquery1.SQL.Add('select * from term');
adoquery1.Open ;
while not adoquery1.Eof do
begin
if adoquery1.Fieldbyname('crnt').AsString='1' then
cmbterm.text:= adoquery1.Fieldbyname('term').AsString;
cmbterm.Items.add(adoquery1.Fieldbyname('term').AsString);
adoquery1.Next ;
end;
cmbcourse.Items.Clear ;
adoquery1.SQL.Clear ;
adoquery1.SQL.Add('select * from course');
adoquery1.Open ;
while not adoquery1.Eof do
begin
cmbcourse.Items.add(adoquery1.Fieldbyname('courseno').AsString+':'+adoquery1.Fieldbyname('name').AsString);
adoquery1.Next ;
end;
adoquery1.Close ;
end;
procedure Tf_courseselect.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
procedure Tf_courseselect.CmbclassChange(Sender: TObject);
begin
adoqrystudent.sql.Clear ;
adoqrystudent.sql.add('select * from student where studentno like ''s'+trim(Cmbclass.Text) +'%'' order by studentno');
adoqrystudent.open;
end;
procedure Tf_courseselect.ADOqrystudentAfterScroll(DataSet: TDataSet);
begin
adoqrycourse.SQL.Clear ;
adoqrycourse.SQL.add('select a.*,b.name,b.credit from '+
' courseselect a,course b '+
' where b.courseno=a.courseno'+
' and a.studentno='''+adoqrystudent.fieldbyname('studentno').asstring+''''+
' and a.termno like ''%'+trim(Cmbterm.text)+'%'' ');
adoqrycourse.open;
label3.caption:=adoqrystudent.fieldbyname('name').asstring+'所选的课程:';
end;
procedure Tf_courseselect.N3Click(Sender: TObject);
begin
if MessageDlg('是否确定要删除选课信息?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
adoquery1.SQL.Clear ;
adoquery1.SQL.Add('delete course where id ='+adoqrycourse.fieldbyname('id').AsString );
adoquery1.ExecSQL ;
adoqrycourse.Active :=false;
adoqrycourse.Active :=true;
end;
end;
procedure Tf_courseselect.BtnaddClick(Sender: TObject);
var courseno:string;
begin
courseno:=copy(cmbcourse.Text,0,6);
adoquery2.SQL.Clear;
adoquery2.SQL.Add('insert into courseselect (studentno,courseno,termno,score) values ');
adoquery2.SQL.Add('('''+adoqrystudent.fieldbyname('studentno').AsString +''','''+courseno +''','''+cmbterm.Text+''',0) ');
adoquery2.ExecSQL ;
adoqrycourse.Active :=false;
adoqrycourse.Active :=true;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -