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

📄 gradeunit.pas

📁 delphi编写的选课系统
💻 PAS
字号:
unit GradeUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ExtCtrls, ADODB, Grids, DBGrids, StdCtrls;

type
  TGradeForm = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    ADOQuery1: TADOQuery;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    Edit3: TEdit;
    Label4: TLabel;
    Edit4: TEdit;
    Button2: TButton;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit3KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Button2Click(Sender: TObject);
    procedure Edit4KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  GradeForm: TGradeForm;

implementation
uses unit1;
{$R *.dfm}

procedure TGradeForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  application.Terminate;
end;

procedure TGradeForm.FormCreate(Sender: TObject);
begin
    GradeForm.SetFocusedControl(edit1);
    ADOQuery1.close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('select sno,sc.cno,kinder,grade,ave,cname from sc,course where sc.cno=course.cno order by sc.cno');
    ADOQuery1.open;
end;

procedure TGradeForm.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if key=13 then PostMessage(GradeForm.Handle,WM_KEYDOWN,VK_TAB,0);
end;

procedure TGradeForm.Edit3KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=13 then PostMessage(GradeForm.Handle,WM_KEYDOWN,VK_TAB,0);
end;

procedure TGradeForm.Edit2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key=13 then PostMessage(GradeForm.Handle,WM_KEYDOWN,VK_TAB,0);
end;

procedure TGradeForm.Button2Click(Sender: TObject);
begin
  if (edit1.Text='') or (edit2.Text='') or (edit3.Text='') or (edit4.Text='')
    then messagedlg(#10'请输入完整的成绩信息!',mtwarning,[mbOk],0)
    else begin
         ADOQuery1.close;
         ADOQuery1.SQL.Clear;
         ADOQuery1.SQL.Add('select * from sc where sno=:Psno and cno=:Pcno');
         ADOQuery1.Parameters.ParamByName('Psno').Value:=edit1.Text;
         ADOQuery1.Parameters.ParamByName('Pcno').Value:=edit2.Text;
         ADOQuery1.open;
         if ADOQuery1.Eof then messagedlg(#10'该学生没有选择该课程,请核对学号和课号',mtwarning,[mbOk],0)
            else begin
                  ADOQuery1.close;
                  ADOQuery1.SQL.Clear;
                  ADOQuery1.SQL.Add('update sc set grade=:Pgrade,ave=:Pave where sno=:Psno and cno=:Pcno');
                  ADOQuery1.Parameters.ParamByName('Psno').value:=edit1.Text;
                  ADOQuery1.Parameters.ParamByName('Pcno').value:=edit2.Text;
                  ADOQuery1.Parameters.ParamByName('Pgrade').value:=edit3.Text;
                  ADOQuery1.Parameters.ParamByName('Pave').value:=edit4.Text;
                  ADOQuery1.ExecSQL;
                 end;
         end;
         edit1.Clear;
         edit2.Clear;
         edit3.Clear;
         edit4.Clear;
         FormCreate(Sender);
end;

procedure TGradeForm.Edit4KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if key=13 then  Button2Click(sender);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -