?? unstud.pas
字號:
unit UnStud;
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_Student = 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;
ADOQY2: TADOQuery;
Shape3: TShape;
Label1: TLabel;
DBEdit1: TDBEdit;
DS: TDataSource;
Label2: TLabel;
DBEdit2: TDBEdit;
Label3: TLabel;
DBEdit3: TDBEdit;
Label4: TLabel;
DBEdit4: TDBEdit;
Label5: TLabel;
DBEdit5: TDBEdit;
Label6: TLabel;
DBEdit6: TDBEdit;
Label7: TLabel;
DBEdit9: TDBEdit;
Label8: TLabel;
DBEdit7: TDBEdit;
Label9: TLabel;
DBEdit8: TDBEdit;
Label12: TLabel;
DBEdit10: TDBEdit;
DBNavigator1: TDBNavigator;
ADOQY2DSDesigner1: TWideStringField;
ADOQY2DSDesigner2: TWideStringField;
ADOQY2DSDesigner3: TWideStringField;
ADOQY2DSDesigner4: TWideStringField;
ADOQY2DSDesigner5: TWideStringField;
ADOQY2DSDesigner6: TWideStringField;
ADOQY2DSDesigner7: TWideStringField;
ADOQY2DSDesigner8: TWideStringField;
ADOQY2DSDesigner9: TWideStringField;
ADOQY2DSDesigner10: 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_Student: TFm_Student;
Flag:Integer;//用于標識操作的屬性(1:新增,2:修改,3:查詢)
edtid,edName,edsex,edMidyear,edLiner,edTime,EdMail,edtelep,EdDwelling,edremark:string;//分別用于存放各種名
implementation
uses UnDB, UnStudent;
{$R *.dfm}
function TFm_Student.init; //初始化
begin
init:=false;
if Application.FindComponent('Fm_Student')=nil then
Application.CreateForm(TFm_Student,Fm_Student);
init:=true;
end;
procedure TFm_Student.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
if (messagedlg('真的要退出班級管理嗎?',mtconfirmation,[mbok,mbcancel],0)=mrok)
then
canclose:=true
else
canclose:=false;
end;
procedure TFm_Student.FormCreate(Sender: TObject);
begin
//連接數據庫
ds.DataSet.Active:=true;
ADOQY2.Active:=true;
ADOQY2.Close;
ADOQY2.SQL.Clear;
ADOQY2.SQL.Add('select * from student_Info where 1<>1');
ADOQY2.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;
Dbedit9.Enabled:=false;
Dbedit10.Enabled:=false;
//總記錄數置0
LB_Count.Caption :=IntToStr(ADOQY2.RecordCount);
end;
procedure TFm_Student.Btn_BrowseClick(Sender: TObject);
begin
ADOQY2.Close;
ADOQY2.SQL.Clear;
ADOQY2.SQL.Add('select * from student_Info order by 學號');
ADOQY2.Open;
if ADOQY2.RecordCount=0 then
begin
showmessage('班級表信息為空! ');
Btn_Add.SetFocus;
end;
Btn_OK.Enabled:=false;
Btn_Cancel.Enabled:=false;
//總記錄數
LB_Count.Caption :=IntToStr(ADOQY2.RecordCount);
end;
procedure TFm_Student.Btn_DeleteClick(Sender: TObject);
begin
if ADOQY2.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
ADOQY2.Open;
ADOQY2.Delete;
Btn_Delete.SetFocus;
end;
ADOQY2.Close;
ADOQY2.SQL.Clear;
ADOQY2.SQL.Text:='select * from student_Info order by 學號';
ADOQY2.Open;
if (ADOQY2.RecordCount<=0) then
begin
showmessage('班級信息記錄已空! ');
Btn_Add.SetFocus;
end
else begin
ADOQY2.First;
end;
end;
//總記錄數
LB_Count.Caption :=IntToStr(ADOQY2.RecordCount);
end;
procedure TFm_Student.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;
Dbedit9.Enabled:=true;
Dbedit10.Enabled:=true;
//使數據集成為插入狀態
ADOQY2.Insert;
//1:標識進行新增操作
Flag:=1;
Btn_OK.Enabled:=true;
Btn_Cancel.Enabled:=true;
//總記錄數
LB_Count.Caption :=IntToStr(ADOQY2.RecordCount);
Dbedit1.SetFocus;
end;
procedure TFm_Student.Btn_OKClick(Sender: TObject);
begin
//1:標識進行新增操作
if Flag=1 then
begin
if Dbedit2.Text='' then
begin
showmessage('姓名不能為空,請輸入姓名 !');
Dbedit1.SetFocus;
end
else begin
ADOQY2.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;
Dbedit9.Enabled:=false;
Dbedit10.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(ADOQY2.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
ADOQY2.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;
Dbedit9.Enabled:=false;
Dbedit10.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(ADOQY2.RecordCount);
end;
end
//3:標識進行查詢操作
else if flag = 3 then
begin
edtid:=dbedit1.Text;
edName:=dbedit2.Text;
edsex:=dbedit3.Text;
edMidyear:=dbedit4.Text;
edLiner:=dbedit5.Text;
edTime:=dbedit6.Text;
EdMail:=dbedit7.Text;
edtelep:=dbedit8.Text;
EdDwelling:=dbedit9.Text;
edremark:=dbedit10.Text;
ADOQY2.Close;
ADOQY2.SQL.Clear;
ADOQY2.SQL.Add('select * from student_Info ');
// 學號不為空
if edtid<>'' then
begin
ADOQY2.SQL.Add('where 學號='''+edtid+'''');
//姓名不為空
if edName<>'' then
begin
ADOQY2.SQL.Add('where 姓名='''+edName+'''');
end;
//性別不為空
if edsex<>'' then
begin
ADOQY2.SQL.Add('where 性別='''+edsex+'''');
end;
//出生年月不為空
if edMidyear<>'' then
begin
ADOQY2.SQL.Add('where 出生年月='''+edMidyear+'''');
end;
//班號不為空
if edLiner<>'' then
begin
ADOQY2.SQL.Add('where 班號='''+edLiner+'''');
end;
//入學時間不為空
if edTime<>'' then
begin
ADOQY2.SQL.Add('where 入學時間='''+edTime+'''');
end;
//郵政編碼不為空
if EdMail<>'' then
begin
ADOQY2.SQL.Add('where 郵政編碼='''+EdMail+'''');
end;
//聯系電話不為空
if edtelep<>'' then
begin
ADOQY2.SQL.Add('where 聯系電話='''+edtelep+'''');
end;
//家庭住址不為空
if EdDwelling<>'' then
begin
ADOQY2.SQL.Add('where 家庭住址='''+EdDwelling+'''');
end;
//備注不為空
if edremark<>'' then
begin
ADOQY2.SQL.Add('where 備注='''+edremark+'''');
end;
end
//姓名不為空
else if edName<>'' then
begin
ADOQY2.SQL.Add('where 姓名='''+edName+'''');
//性別不為空
if edsex<>'' then
begin
ADOQY2.SQL.Add('where 性別='''+edsex+'''');
end;
//出生年月不為空
if edMidyear<>'' then
begin
ADOQY2.SQL.Add('where 出生年月='''+edMidyear+'''');
end;
//班號不為空
if edLiner<>'' then
begin
ADOQY2.SQL.Add('where 班號='''+edLiner+'''');
end;
//入學時間不為空
if edTime<>'' then
begin
ADOQY2.SQL.Add('where 入學時間='''+edTime+'''');
end;
//郵政編碼不為空
if EdMail<>'' then
begin
ADOQY2.SQL.Add('where 郵政編碼='''+EdMail+'''');
end;
//聯系電話不為空
if edtelep<>'' then
begin
ADOQY2.SQL.Add('where 聯系電話='''+edtelep+'''');
end;
//家庭住址不為空
if EdDwelling<>'' then
begin
ADOQY2.SQL.Add('where 家庭住址='''+EdDwelling+'''');
end;
//備注不為空
if edremark<>'' then
begin
ADOQY2.SQL.Add('where 備注='''+edremark+'''');
end;
end
//性別不為空
else if edsex<>'' then
begin
ADOQY2.SQL.Add('where 性別='''+edsex+'''');
//出生年月不為空
if edMidyear<>'' then
begin
ADOQY2.SQL.Add('where 出生年月='''+edMidyear+'''');
end;
//班號不為空
if edLiner<>'' then
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -