📄 unclass.pas
字号:
unit UnClass;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, ComCtrls, ToolWin, Menus, ExtCtrls, Grids, DBGrids, DB,
ADODB, StdCtrls, Mask, DBCtrls, Buttons;
type
TFm_Class = class(TForm)
Image1: TImage;
Shape1: TShape;
Btn_Add: TBitBtn;
Btn_Modify: TBitBtn;
Btn_Delete: TBitBtn;
Btn_Query: TBitBtn;
Btn_Browse: TBitBtn;
Btn_Print: TBitBtn;
Shape2: TShape;
Btn_OK: TBitBtn;
Btn_Cancel: TBitBtn;
Label10: TLabel;
Lb_Count: TLabel;
Label11: TLabel;
DBGrid1: TDBGrid;
ADOQY1: TADOQuery;
Label1: TLabel;
DBEdit2: TDBEdit;
Label2: TLabel;
DBEdit3: TDBEdit;
Label3: TLabel;
DBEdit4: TDBEdit;
Label4: TLabel;
DBEdit5: TDBEdit;
Label5: TLabel;
DBEdit6: TDBEdit;
Label6: TLabel;
DBEdit7: TDBEdit;
Label7: TLabel;
DBEdit8: TDBEdit;
DS: TDataSource;
Label8: TLabel;
DBEdit1: TDBEdit;
Shape3: TShape;
DBNavigator1: TDBNavigator;
ADOQY1DSDesigner1: TWideStringField;
ADOQY1DSDesigner2: TWideStringField;
ADOQY1DSDesigner3: TWideStringField;
ADOQY1DSDesigner4: TWideStringField;
ADOQY1DSDesigner5: TWideStringField;
ADOQY1DSDesigner6: TWideStringField;
ADOQY1DSDesigner7: TWideStringField;
ADOQY1DSDesigner8: TWideStringField;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormCreate(Sender: TObject);
procedure Btn_BrowseClick(Sender: TObject);
procedure Btn_DeleteClick(Sender: TObject);
procedure Btn_AddClick(Sender: TObject);
procedure Btn_OKClick(Sender: TObject);
procedure Btn_QueryClick(Sender: TObject);
procedure Btn_ModifyClick(Sender: TObject);
procedure Btn_CancelClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
function init:boolean;
{ Public declarations }
end;
var
Fm_Class: TFm_Class;
Flag:Integer;//用于标识操作的属性(1:新增,2:修改,3:查询)
edtid,edClass,edGrade,edClassroom,edMidyear,edSpeciality,edTeacher,edremark:string;//分别用于存放各种名
implementation
uses UnDB, UnStudent;
{$R *.dfm}
function TFm_Class.init; //初始化
begin
init:=false;
if Application.FindComponent('Fm_Class')=nil then
Application.CreateForm(TFm_Class,Fm_Class);
init:=true;
end;
procedure TFm_Class.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
if (messagedlg('真的要退出班级管理吗?',mtconfirmation,[mbok,mbcancel],0)=mrok)
then
canclose:=true
else
canclose:=false;
end;
procedure TFm_Class.FormCreate(Sender: TObject);
begin
//连接数据库
ds.DataSet.Active:=true;
ADOQY1.Active:=true;
ADOQY1.Close;
ADOQY1.SQL.Clear;
ADOQY1.SQL.Add('select * from class_Info where 1<>1');
ADOQY1.Open;
//初始化各文本框不能使用
Dbedit1.Enabled:=false;
Dbedit2.Enabled:=false;
Dbedit3.Enabled:=false;
Dbedit4.Enabled:=false;
Dbedit5.Enabled:=false;
Dbedit6.Enabled:=false;
Dbedit7.Enabled:=false;
Dbedit8.Enabled:=false;
//总记录数置0
LB_Count.Caption :=IntToStr(ADOQY1.RecordCount);
end;
procedure TFm_Class.Btn_BrowseClick(Sender: TObject);
begin
ADOQY1.Close;
ADOQY1.SQL.Clear;
ADOQY1.SQL.Add('select * from class_Info order by 编号');
ADOQY1.Open;
if ADOQY1.RecordCount=0 then
begin
showmessage('班级表信息为空! ');
Btn_Add.SetFocus;
end;
Btn_OK.Enabled:=false;
Btn_Cancel.Enabled:=false;
//总记录数
LB_Count.Caption :=IntToStr(ADOQY1.RecordCount);
end;
procedure TFm_Class.Btn_DeleteClick(Sender: TObject);
begin
if ADOQY1.RecordCount=0 then
begin
showmessage('记录为空,请选择要删除的班级信息!');
Btn_Browse.SetFocus;
end
else begin
if messagedlg('是否真的要删除此记录!',mtwarning,[mbyes,mbno],0)=mrno then
//取消删除
begin
Btn_Add.SetFocus;
exit;
end
//删除记录
else begin
ADOQY1.Open;
ADOQY1.Delete;
Btn_Delete.SetFocus;
end;
ADOQY1.Close;
ADOQY1.SQL.Clear;
ADOQY1.SQL.Text:='select * from class_Info order by 编号';
ADOQY1.Open;
if (ADOQY1.RecordCount<=0) then
begin
showmessage('班级信息记录已空! ');
Btn_Add.SetFocus;
end
else begin
ADOQY1.First;
end;
end;
//总记录数
LB_Count.Caption :=IntToStr(ADOQY1.RecordCount);
end;
procedure TFm_Class.Btn_AddClick(Sender: TObject);
begin
//设置各输入框的可用性
Dbedit1.Enabled:=true;
Dbedit2.Enabled:=true;
Dbedit3.Enabled:=true;
Dbedit4.Enabled:=true;
Dbedit5.Enabled:=true;
Dbedit6.Enabled:=true;
Dbedit7.Enabled:=true;
Dbedit8.Enabled:=true;
//使数据集成为插入状态
ADOQY1.Insert;
//1:标识进行新增操作
Flag:=1;
Btn_OK.Enabled:=true;
Btn_Cancel.Enabled:=true;
//总记录数
LB_Count.Caption :=IntToStr(ADOQY1.RecordCount);
Dbedit1.SetFocus;
end;
procedure TFm_Class.Btn_OKClick(Sender: TObject);
begin
//1:标识进行新增操作
if Flag=1 then
begin
if Dbedit2.Text='' then
begin
showmessage('姓名不能为空,请输入姓名 !');
Dbedit1.SetFocus;
end
else begin
ADOQY1.Append;
//初始化各文本框不能使用
Dbedit1.Enabled:=false;
Dbedit2.Enabled:=false;
Dbedit3.Enabled:=false;
Dbedit4.Enabled:=false;
Dbedit5.Enabled:=false;
Dbedit6.Enabled:=false;
Dbedit7.Enabled:=false;
Dbedit8.Enabled:=false;
//设置各按钮的可用性
Btn_Add.Enabled:=true;
Btn_Modify.Enabled:=true;
Btn_Delete.Enabled:=true;
Btn_Query.Enabled:=true;
Btn_Browse.Enabled:=true;
Btn_Print.Enabled:=true;
Btn_OK.Enabled:=false;
Btn_Cancel.Enabled:=false;
Btn_Add.SetFocus;
//总记录数
LB_Count.Caption :=IntToStr(ADOQY1.RecordCount);
end;
end
//2:标识进行修改操作
else if Flag=2 then
begin
if ((dbedit1.Text='') or (dbedit2.Text='') or (dbedit3.Text='') or (dbedit4.Text='') or (dbedit5.Text='') or (dbedit6.Text='') or (dbedit7.Text='') or (dbedit8.Text='') ) then
begin
showmessage('所修改不能为空,请重新输入!');
dbedit1.SetFocus;
end
else begin
ADOQY1.Post;
showmessage('修改成功!');
//初始化各文本框不能使用
Dbedit1.Enabled:=false;
Dbedit2.Enabled:=false;
Dbedit3.Enabled:=false;
Dbedit4.Enabled:=false;
Dbedit5.Enabled:=false;
Dbedit6.Enabled:=false;
Dbedit7.Enabled:=false;
Dbedit8.Enabled:=false;
//设置各按钮的可用性
Btn_Add.Enabled:=true;
Btn_Modify.Enabled:=true;
Btn_Delete.Enabled:=true;
Btn_Query.Enabled:=true;
Btn_Browse.Enabled:=true;
Btn_Print.Enabled:=true;
Btn_OK.Enabled:=false;
Btn_Cancel.Enabled:=false;
Btn_Modify.SetFocus;
//总记录数
LB_Count.Caption :=IntToStr(ADOQY1.RecordCount);
end;
end
//3:标识进行查询操作
else if flag = 3 then
begin
edtid:=dbedit1.Text;
edClass:=dbedit2.Text;
edGrade:=dbedit3.Text;
edClassroom:=dbedit4.Text;
edMidyear:=dbedit5.Text;
edSpeciality:=dbedit6.Text;
edTeacher:=dbedit7.Text;
edremark:=dbedit8.Text;
ADOQY1.Close;
ADOQY1.SQL.Clear;
ADOQY1.SQL.Add('select * from Address ');
// 编号不为空
if edtid<>'' then
begin
ADOQY1.SQL.Add('where 编号='''+edtid+'''');
//班级不为空
if edClass<>'' then
begin
ADOQY1.SQL.Add('where 班级='''+edClass+'''');
end;
//年级不为空
if edGrade<>'' then
begin
ADOQY1.SQL.Add('where 年级='''+edGrade+'''');
end;
//教室不为空
if edClassroom<>'' then
begin
ADOQY1.SQL.Add('where 教室='''+edClassroom+'''');
end;
//年制不为空
if edMidyear<>'' then
begin
ADOQY1.SQL.Add('where 年制='''+edMidyear+'''');
end;
//专业不为空
if edSpeciality<>'' then
begin
ADOQY1.SQL.Add('where 专业='''+edSpeciality+'''');
end;
//班主任不为空
if edTeacher<>'' then
begin
ADOQY1.SQL.Add('where 班主任='''+edTeacher+'''');
end;
//备注不为空
if edremark<>'' then
begin
ADOQY1.SQL.Add('where 备注='''+edremark+'''');
end;
end
//班级不为空
else if edClass<>'' then
begin
ADOQY1.SQL.Add('where 班级='''+edClass+'''');
//年级不为空
if edGrade<>'' then
begin
ADOQY1.SQL.Add('where 年级='''+edGrade+'''');
end;
//教室不为空
if edClassroom<>'' then
begin
ADOQY1.SQL.Add('where 教室='''+edClassroom+'''');
end;
//年制不为空
if edMidyear<>'' then
begin
ADOQY1.SQL.Add('where 年制='''+edMidyear+'''');
end;
//专业不为空
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -