?? 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;//用于標(biāo)識操作的屬性(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
//連接數(shù)據(jù)庫
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;
//總記錄數(shù)置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;
//總記錄數(shù)
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;
//總記錄數(shù)
LB_Count.Caption :=IntToStr(ADOQY1.RecordCount);
end;
procedure TFm_Class.Btn_AddClick(Sender: TObject);
begin
//設(shè)置各輸入框的可用性
Dbedit1.Enabled:=true;
Dbedit2.Enabled:=true;
Dbedit3.Enabled:=true;
Dbedit4.Enabled:=true;
Dbedit5.Enabled:=true;
Dbedit6.Enabled:=true;
Dbedit7.Enabled:=true;
Dbedit8.Enabled:=true;
//使數(shù)據(jù)集成為插入狀態(tài)
ADOQY1.Insert;
//1:標(biāo)識進(jìn)行新增操作
Flag:=1;
Btn_OK.Enabled:=true;
Btn_Cancel.Enabled:=true;
//總記錄數(shù)
LB_Count.Caption :=IntToStr(ADOQY1.RecordCount);
Dbedit1.SetFocus;
end;
procedure TFm_Class.Btn_OKClick(Sender: TObject);
begin
//1:標(biāo)識進(jìn)行新增操作
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;
//設(shè)置各按鈕的可用性
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;
//總記錄數(shù)
LB_Count.Caption :=IntToStr(ADOQY1.RecordCount);
end;
end
//2:標(biāo)識進(jìn)行修改操作
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;
//設(shè)置各按鈕的可用性
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;
//總記錄數(shù)
LB_Count.Caption :=IntToStr(ADOQY1.RecordCount);
end;
end
//3:標(biāo)識進(jìn)行查詢操作
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;
//專業(yè)不為空
if edSpeciality<>'' then
begin
ADOQY1.SQL.Add('where 專業(yè)='''+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;
//專業(yè)不為空
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -