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

📄 unit2.pas

📁 delphi语言编写的简单图书馆管理系统页面适合初学者模仿练习!
💻 PAS
字号:
unit Unit2;

interface

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

type
  TMainForm = class(TForm)
    Panel1: TPanel;
    DBText1: TDBText;
    Label1: TLabel;
    Label2: TLabel;
    DBText2: TDBText;
    Label3: TLabel;
    DBText3: TDBText;
    Label5: TLabel;
    DBText4: TDBText;
    Panel2: TPanel;
    Panel3: TPanel;
    DBGrid1: TDBGrid;
    ADOQuery1: TADOQuery;
    Button1: TButton;
    SearchEdit: TEdit;
    Button2: TButton;
    Label4: TLabel;
    Label6: TLabel;
    delEdit: TEdit;
    Button3: TButton;
    ADOQuery2: TADOQuery;
    DataSource1: TDataSource;
    Button4: TButton;
    ADOTable1: TADOTable;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure SearchEditKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure delEditKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGrid1DblClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;
implementation

uses Unit1, Unit3, Unit4;

{$R *.dfm}

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

procedure TMainForm.FormCreate(Sender: TObject); //窗体建立时连接数据库,dbgrid显示所选的课程信息
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select sno,sc.cno,cname,kinder,grade,ave from sc,course ') ;
  ADOQuery1.SQL.Add('where sc.cno=course.cno and sno=:Psno order by sc.cno');
  ADOQuery1.Parameters.ParamByName('Psno').value:=user;
  ADOQuery1.Open;              

end;

procedure TMainForm.Button2Click(Sender: TObject);   //显示课程总表窗体
begin
 Application.CreateForm(TCouseListForm,CouseListForm);
 CouseListForm.show;           
end;

procedure TMainForm.Button1Click(Sender: TObject);  //选课
var courseno,coursename:string;
begin
if SearchEdit.Text='' then  messagedlg(#10'请输入要查询的课号',mtwarning,[mbOk],0)
    else begin
         Application.CreateForm(TSearchForm, SearchForm);
         SearchForm.ADOQuery1.Close;
         SearchForm.ADOQuery1.SQL.Clear;
         SearchForm.ADOQuery1.SQL.Add('select * from course where cno=:Pcno') ;
         SearchForm.ADOQuery1.Parameters.ParamByName('Pcno').value:= MainForm.SearchEdit.text;
         SearchForm.ADOQuery1.open;
         if  SearchForm.ADOQuery1.Eof then messagedlg(#10'无该课程信息,请确认课号!', mtwarning,[mbOk],0)
         else SearchForm.show;
         end;
                                      
end;

procedure TMainForm.Button3Click(Sender: TObject);   //删除所选课程
begin
if delEdit.Text='' then  messagedlg(#10'请输入要删除的课号',mtwarning,[mbOk],0)
    else begin
         ADOQuery2.Close;
         ADOQuery2.SQL.Clear;
         ADOQuery2.SQL.Add('select * from sc where cno=:Pcno') ;
         ADOQuery2.Parameters.ParamByName('Pcno').value:= delEdit.text;
         ADOQuery2.open;
         if ADOQuery2.Eof then messagedlg(#10'您没有选择该课程,请确认课号!', mtwarning,[mbOk],0)
         else begin
                if   messagedlg(#10'是否删除该课程?', mtConfirmation,[mbYes,mbNo],0)=mrYes then
                     begin
                     ADOQuery2.Close;
                     ADOQuery2.SQL.Clear;
                     ADOQuery2.SQL.Add('delete  from sc where cno=:Pcno') ;
                     ADOQuery2.Parameters.ParamByName('Pcno').value:= delEdit.text;
                     ADOQuery2.ExecSQL;

                     FormCreate(Sender);
                     delEdit.Clear;
                     end;
              end;
         end;
end;

procedure TMainForm.SearchEditKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);              //选课课号框内按下回车,调用Button1Click事件
begin
  if key=13 then  Button1Click(Sender);
end;

procedure TMainForm.delEditKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);              //删除课号框内按下回车,调用Button3Click事件
begin
   if key=13 then  Button3Click(Sender);
end;

procedure TMainForm.DBGrid1DblClick(Sender: TObject);
begin                             //dbgrid内双击选择行,删除课程
         ADOQuery2.Close;
         ADOQuery2.SQL.Clear;
         ADOQuery2.SQL.Add('select * from sc where cno=:Pcno') ;
         ADOQuery2.Parameters.ParamByName('Pcno').value:= dbgrid1.Fields[0].Value;
         ADOQuery2.open;
         if ADOQuery2.Eof then messagedlg(#10'您没有选择该课程,请确认课号!', mtwarning,[mbOk],0)
         else begin
                if   messagedlg(#10'是否删除该课程?', mtConfirmation,[mbYes,mbNo],0)=mrYes then
                     begin
                     ADOQuery2.Close;
                     ADOQuery2.SQL.Clear;
                     ADOQuery2.SQL.Add('delete * from sc where cno=:Pcno') ;
                     ADOQuery2.Parameters.ParamByName('Pcno').value:= dbgrid1.Fields[0].Value;
                     ADOQuery2.ExecSQL;

                     FormCreate(Sender);
                     end;
              end;
end;

end.

⌨️ 快捷键说明

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