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

📄 courseselect.pas

📁 网络版的学生成绩管理系统
💻 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 + -