📄 departunit.~pas
字号:
unit departUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, ComCtrls, ExtCtrls, ToolWin, Grids, DBGrids, StdCtrls,
DBActns, ActnList;
type
Tdepartform = class(TForm)
ToolBar1: TToolBar;
Panel1: TPanel;
tb_first: TToolButton;
tb_prior: TToolButton;
tb_next: TToolButton;
tb_last: TToolButton;
tb_add: TToolButton;
tb_uptate: TToolButton;
tb_delete: TToolButton;
tb_post: TToolButton;
tb_cancel: TToolButton;
tb_exit: TToolButton;
ImageList1: TImageList;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
DBGrid1: TDBGrid;
ActionList1: TActionList;
Action1: TAction;
DataSetFirst1: TDataSetFirst;
DataSetPrior1: TDataSetPrior;
DataSetNext1: TDataSetNext;
DataSetLast1: TDataSetLast;
DataSetCancel1: TDataSetCancel;
StatusBar1: TStatusBar;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure tb_exitClick(Sender: TObject);
procedure tb_addClick(Sender: TObject);
procedure tb_postClick(Sender: TObject);
procedure tb_deleteClick(Sender: TObject);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure tb_uptateClick(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
departform: Tdepartform;
flag:boolean;
implementation
uses MainUnit, dm;
{$R *.dfm}
procedure Tdepartform.FormClose(Sender: TObject; var Action: TCloseAction); //关闭子窗体
begin
action:=cafree;
mainform.tb_depart.Down:=false;
flag:=false;
end;
procedure Tdepartform.tb_exitClick(Sender: TObject); //关闭
begin
close;
end;
procedure Tdepartform.tb_addClick(Sender: TObject); //添加
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit1.SetFocus;
end;
procedure Tdepartform.tb_postClick(Sender: TObject); //保存
var
str:string;
begin
dmform.ADOQuery_depart.Close;
dmform.ADOQuery_depart.SQL.Clear;
dmform.ADOQuery_depart.SQL.Add('select * from department where 院系编号='+edit1.Text);
dmform.ADOQuery_depart.Open;
if dmform.ADOQuery_depart.RecordCount>=1 then
begin
dmform.ADOQuery_depart.Close;
dmform.ADOQuery_depart.SQL.Clear;
dmform.ADOQuery_depart.SQL.Add('select * from department');
dmform.ADOQuery_depart.Open;
application.MessageBox('该编号已经存在,请重新输入!','登录提示',mb_ok);
end
else
begin
str:='insert into department(院系编号,院系名称,院系领导,领导电话,院系描述) values (:a,:b,:c,:d,:e)';
dmform.ADOQuery_depart.Close;
dmform.ADOQuery_depart.SQL.Clear;
dmform.ADOQuery_depart.SQL.Add(str);
dmform.ADOQuery_depart.Parameters[0].Value:=edit1.Text;
dmform.ADOQuery_depart.Parameters[1].Value:=edit2.Text;
dmform.ADOQuery_depart.Parameters[2].Value:=edit3.Text;
dmform.ADOQuery_depart.Parameters[3].Value:=edit4.Text;
dmform.ADOQuery_depart.Parameters[4].Value:=edit5.Text;
dmform.ADOQuery_depart.ExecSQL;
dmform.ADOQuery_depart.Close;
dmform.ADOQuery_depart.SQL.Clear;
dmform.ADOQuery_depart.SQL.Add('select * from department');
dmform.ADOQuery_depart.Open;
Application.MessageBox(' 保存成功!','提示',64)
end;
end;
procedure Tdepartform.tb_deleteClick(Sender: TObject); //删除
begin
if messagedlg('确定删除该记录吗?',mtConfirmation,[mbYes, mbNo],0)=mryes then
begin
dmform.ADOQuery_depart.Delete;
end;
end;
procedure Tdepartform.DBGrid1DrawColumnCell(Sender: TObject; //改变行颜色
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
i:integer;
begin
for i:=0 to dmform.ADOQuery_depart.RecordCount-1 do
begin
if (dmform.ADOQuery_depart.RecNo mod 2)=0 then
begin
//dbgrid1.Canvas.Brush.Color:=clblue;
dbgrid1.Canvas.Brush.Color:=$118000;
dbgrid1.Canvas.Font.Color:=$ffffff;
end;
end;
dbgrid1.DefaultDrawColumnCell(rect,datacol,column,state);
end;
procedure Tdepartform.tb_uptateClick(Sender: TObject); //修改
var
str:string;
begin
try
str:='Update department set 院系名称=:b,院系领导=:c,领导电话=:d,院系描述=:e where 院系编号=:a';
if Trim(edit1.Text)='' then
begin
Application.MessageBox('院系编号不能为空!','提示',64);
end
else
begin
dmform.ADOQuery_depart.Close;
dmform.ADOQuery_depart.SQL.Clear;
dmform.ADOQuery_depart.SQL.Add(str);
dmform.ADOQuery_depart.Parameters.ParamByName('a').Value:=Trim(edit1.Text);
dmform.ADOQuery_depart.Parameters.ParamByName('b').Value:=Trim(edit2.Text);
dmform.ADOQuery_depart.Parameters.ParamByName('c').Value:=Trim(edit3.Text);
dmform.ADOQuery_depart.Parameters.ParamByName('d').Value:=Trim(edit4.Text);
dmform.ADOQuery_depart.Parameters.ParamByName('e').Value:=Trim(edit5.Text);
dmform.ADOQuery_depart.ExecSQL;
dmform.ADOQuery_depart.Close;
dmform.ADOQuery_depart.SQL.Clear;
dmform.ADOQuery_depart.SQL.Add('select * from department');
dmform.ADOQuery_depart.Open;
Application.MessageBox('修改成功!','提示',64)
end;
except
Application.MessageBox('系统出错!','提示',64)
end;
end;
procedure Tdepartform.Edit1Change(Sender: TObject); //判断院系编号是否为空
begin
if (Trim(edit1.Text)<>'') then
begin
tb_post.Enabled:=true;
end
else
begin
tb_post.Enabled:=false;
end;
end;
procedure Tdepartform.Edit1KeyPress(Sender: TObject; var Key: Char); //只允许输入数字
var
m:boolean;
begin
m:=(key<#8)or(key>#8)and(key<#48)or(key>#57);
if m then
key:=#0;
end;
procedure Tdepartform.Edit4KeyPress(Sender: TObject; var Key: Char);
var
m:boolean; //只允许输入数字
begin
m:=(key<#8)or(key>#8)and(key<#48)or(key>#57);
if m then
key:=#0;
end;
procedure Tdepartform.FormCreate(Sender: TObject);
begin
flag:=true;
DBGrid1.Columns.Items[0].Width:=50; //设置列的宽度
DBGrid1.Columns.Items[1].Width:=100;
DBGrid1.Columns.Items[2].Width:=100;
DBGrid1.Columns.Items[3].Width:=100;
DBGrid1.Columns.Items[4].Width:=250;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -