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

📄 s_courseunit.~pas

📁 实例4学院信息管理系统 - RAR 档案文件
💻 ~PAS
字号:
unit S_CourseUnit;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGrids, ExtCtrls, Db, StdCtrls;

type
  TS_CourseForm = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    DBGridCourse: TDBGrid;
    DataSourceMaster: TDataSource;
    DataSourceDetail: TDataSource;
    ButtonZengJia: TButton;
    ButtonXiuGai: TButton;
    DBGridBase: TDBGrid;
    procedure FormCreate(Sender: TObject);
    procedure ButtonZengJiaClick(Sender: TObject);
    procedure ButtonXiuGaiClick(Sender: TObject);
  private
    { Private declarations }
    procedure refresh;
  public
    { Public declarations }
  end;

var
  S_CourseForm: TS_CourseForm;

implementation

uses S_CourseUnit1,S_CourseUnit2,CDMUnit;

{$R *.DFM}

procedure TS_CourseForm.FormCreate(Sender: TObject);
begin
  with CDM.ClientDataSetBase do
  begin
    Close;
    CommandText:='Select * from BaseTB';
    Open;
  end;

  with CDM.ClientDataSetCourse do
  begin
    Close;
    IndexFieldNames:='student_id';
    MasterSource:=DataSourceMaster;
    MasterFields:='student_id';
    CommandText:='Select * from CourseTB';
    Open;
  end;

end;

procedure TS_CourseForm.ButtonZengJiaClick(Sender: TObject);
var
  fo:TAddCourseForm;
  fstudent_id :string[8];//*学号*/
  fname       :string[12]; //姓名

begin
  {增加学生课程}
  {取学号}
  with DBGridBase.DataSource.DataSet do
  begin
    fstudent_id:=FieldByName('student_id').AsString;
    fname:=FieldByName('name').AsString;
  end;

  Try
    fo:=TAddCourseForm.Create(Self);
    //fo.fstudent_id :=fstudent_id;//*学号*/
    //fo.fname       :=fname; //姓名

    fo.LStudent_id.Caption:=fstudent_id;//*学号*/
    fo.Lname.Caption:=fname;//姓名

    fo.Ecourse.Text:='';//*学科*/
    fo.Ccourse_t.ItemIndex:=0;//*类别*/
    fo.Eperiod.Text:=''; //*学时*/
    fo.Ecredit.Text:=''; //*学分*/
    fo.Ebegin_date.Text:=''; //*起始日期*/
    fo.Eend_date.Text:=''; //*结束日期*/

    if fo.ShowModal=mrOK then
    begin
      CDM.DCOMConnectionStudent.AppServer.S_C_Add(fo.fstudent_id,fo.fcourse,fo.fcourse_t,fo.fperiod,fo.fcredit,fo.fbegin_date,fo.fend_date);
      refresh;
    end;

  Finally
    fo.Free;
  End;

end;

procedure TS_CourseForm.ButtonXiuGaiClick(Sender: TObject);
var
  fo:TMdCourseForm;
  fstudent_id:string[8];
  fname:string[12]; //姓名

  fcourse     :string[10];//*学科*/
  fcourse_t   :string[1];//*类别*/
  fperiod     :integer; //*学时*/
  fcredit     :integer; //*学分*/
  fbegin_date :string[8]; //*起始日期*/
  fend_date   :string[8]; //*结束日期*/

begin
  {修改学生课程}
  with DBGridBase.DataSource.DataSet do
  begin
    fstudent_id:=FieldByName('student_id').AsString;
    fname:=FieldByName('name').AsString;
  end;


  {取课程数据}
  with DBGridCourse.DataSource.DataSet do
  begin
    if recordcount >0 then
    begin
      fcourse     :=FieldByName('course').AsString;
      fcourse_t   :=FieldByName('course_t').AsString;
      fperiod     :=FieldByName('period').AsInteger;
      fcredit     :=FieldByName('credit').AsInteger;
      fbegin_date :=FieldByName('begin_date').AsString;
      fend_date   :=FieldByName('end_date').AsString;
    end else
    exit;
  end;

  Try
    fo:=TMdCourseForm.Create(Self);

    fo.LStudent_id.Caption:=fstudent_id;//*学号*/
    fo.Lname.Caption:=fname;//姓名

    fo.fcourse     :=fcourse;
    fo.fcourse_t   :=fcourse_t;
    fo.fperiod     :=fperiod;
    fo.fcredit     :=fcredit;
    fo.fbegin_date :=fbegin_date;
    fo.fend_date   :=fend_date;

    if fo.ShowModal = mrOK then
    begin
      CDM.DCOMConnectionStudent.AppServer.S_C_Md(fo.fstudent_id,fo.fcourse,fo.fcourse_t,fo.fperiod,fo.fcredit,fo.fbegin_date,fo.fend_date);
      refresh;
    end;

  Finally
    fo.Free;
  End;
end;

procedure TS_CourseForm.refresh;
begin
  with CDM.ClientDataSetCourse do
  begin
    Close;
    IndexFieldNames:='student_id';
    MasterSource:=DataSourceMaster;
    MasterFields:='student_id';
    CommandText:='Select * from CourseTB';
    Open;
  end;
end;

end.

⌨️ 快捷键说明

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