📄 unit2.~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 + -