📄 pas_depart.pas
字号:
unit pas_depart;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, ComCtrls, Buttons, ToolWin;
type
TForm_depart = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label9: TLabel;
ToolBar1: TToolBar;
select: TSpeedButton;
ToolButton5: TToolButton;
add: TSpeedButton;
ToolButton3: TToolButton;
selecteveryth: TSpeedButton;
ToolButton7: TToolButton;
valid: TSpeedButton;
ToolButton1: TToolButton;
unValid: TSpeedButton;
ToolButton2: TToolButton;
setUnvalid: TSpeedButton;
ToolButton4: TToolButton;
setvalid: TSpeedButton;
Edit_no: TEdit;
Edit_name: TEdit;
Edit_phone: TEdit;
Edit_tel: TEdit;
Edit_addr: TEdit;
Edit_remarks: TEdit;
DBGrid: TDBGrid;
procedure selecteverything();
procedure selectvalid();
procedure selectunvalid();
procedure addClick(Sender: TObject);
procedure selectClick(Sender: TObject);
procedure selecteveryClick(Sender: TObject);
procedure validClick(Sender: TObject);
procedure unvalidClick(Sender: TObject);
procedure setUnvalidClick(Sender: TObject);
procedure setvalidClick(Sender: TObject);
procedure DBGridCellClick(Column: TColumn);
procedure DBGridDblClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_depart: TForm_depart;
implementation
uses Pas_DM;
{$R *.dfm}
procedure TForm_depart.addClick(Sender: TObject);
var
s:string;
begin
if (edit_no.Text='') or (edit_name.Text='') or (edit_phone.Text='')
then
begin
showmessage('编号/中文名/手机不能为空');
exit;
end;
with pas_dm.DM.Query_depart do
begin
try
with pas_dm.DM.Query_depart do
begin
Close;
SQL.Clear;
s:='insert into depart(dp_no,dp_name,dp_phone,dp_tel,dp_addr,dp_remarks,dp_validorno) values('''+trim(edit_no.Text)+''','''+
edit_name.Text+''','''+edit_phone.Text+''','''+
edit_tel.Text+''','''+edit_addr.Text+''','''+edit_remarks.Text+''',1)';
SQL.Add(s);
ExecSQL;
showmessage('添加 '+edit_name.Text+' 成功!');
end;
except
showmessage('添加'+edit_name.Text+'失败!可能是编号重复');
end;
selectvalid;
end;
end;
procedure TForm_depart.selecteverything;
begin
with pas_dm.DM.Query_depart do
begin
close;
sql.Clear;
sql.Add('select dp_no 部门编号,dp_name 部门姓名,dp_phone 部门手机,dp_tel 部门电话,dp_addr 部门地址,dp_remarks 部门备注 from depart ');
open;
end;
end;
procedure TForm_depart.selectunvalid;
begin
with pas_dm.DM.Query_depart do
begin
close;
sql.Clear;
sql.Add('select dp_no 部门编号,dp_name 部门姓名,dp_phone 部门手机,dp_tel 部门电话,dp_addr 部门地址,dp_remarks 部门备注 from depart where dp_validorno=0 ');
open;
end;
end;
procedure TForm_depart.selectvalid;
begin
with pas_dm.DM.Query_depart do
begin
close;
sql.Clear;
sql.Add('select dp_no 部门编号,dp_name 部门姓名,dp_phone 部门手机,dp_tel 部门电话,dp_addr 部门地址,dp_remarks 部门备注 from depart where dp_validorno=1 ');
open;
end;
end;
procedure TForm_depart.selectClick(Sender: TObject);
var
s:string;
begin
if(trim(edit_name.Text)<>'') then
begin
s:= ' where dp_name like ''%'+trim(edit_name.Text)+'%'' ';
end
else
begin
s:='';
end;
with pas_dm.DM.Query_depart do
begin
close;
sql.Clear;
sql.Add(' select dp_no as 部门编号,'+
' dp_name as 部门名 ,'+
' dp_phone as 手机,'+
' dp_tel as 电话,'+
' dp_addr as 地址,'+
' dp_remarks as 备注'+
' from depart '+s);
open;
end;
end;
procedure TForm_depart.selecteveryClick(Sender: TObject);
begin
selecteverything();
end;
procedure TForm_depart.validClick(Sender: TObject);
begin
selectvalid();
end;
procedure TForm_depart.unvalidClick(Sender: TObject);
begin
selectunvalid()
end;
procedure TForm_depart.setUnvalidClick(Sender: TObject);
var
s:string;
begin
with pas_dm.DM.Query_depart do
begin
if IDOK=messagebox(handle,pchar('编号为 '+dbgrid.Fields[0].AsString+' 的部门将被设为无效'),'警告', MB_OKCANCEL)
then
begin
try
s:=dbgrid.Fields[0].AsString;
Close;
SQL.Clear;
SQL.Add('update depart set dp_validorno=0 where dp_no='''+s+'''');
ExecSQL;
except
showmessage('出错');
end;
if RowsAffected=1 then
begin
showmessage(s+'设置无效成功');
end;
end;
end;
selectvalid();
end;
procedure TForm_depart.setvalidClick(Sender: TObject);
var
s:string;
begin
with pas_dm.DM.Query_depart do
begin
if IDOK=messagebox(handle,pchar('编号为 '+dbgrid.Fields[0].AsString+' 的部门将被设为有效'),'警告', MB_OKCANCEL)
then
begin
try
s:=dbgrid.Fields[0].AsString;
Close;
SQL.Clear;
SQL.Add('update depart set dp_validorno=1 where dp_no='''+s+'''');
ExecSQL;
except
showmessage('出错');
end;
if RowsAffected=1 then
begin
showmessage(s+'设置有效成功');
end;
end;
end;
selectvalid();
end;
procedure TForm_depart.DBGridCellClick(Column: TColumn);
begin
with pas_dm.DM.Query_depart do
begin
if dbgrid.FieldCount=0 then
begin
showmessage('没有打开数据库');
exit;
end;
if dbgrid.Fields[0].AsString='' then
begin
showmessage('数据库没有数据');
exit;
end;
edit_no.Text:=Fields.Fields[0].AsString;
edit_name.Text:=Fields.Fields[1].AsString;
edit_phone.Text:=Fields.Fields[2].AsString;
edit_tel.Text:=Fields.Fields[3].AsString;
edit_addr.Text:=Fields.Fields[4].AsString;
edit_remarks.Text:=Fields.Fields[5].AsString;
end;
end;
procedure TForm_depart.DBGridDblClick(Sender: TObject);
var
s: string;
begin
with pas_dm.DM.Query_depart do
begin
if dbgrid.FieldCount=0 then
begin
showmessage('没有打开数据库');
exit;
end;
if dbgrid.Fields[0].AsString='' then
begin
showmessage('数据库没有数据');
exit;
end;
s:= dbgrid.Fields[0].AsString;
end;
with pas_dm.DM.AQ1 do
begin
close;
sql.Clear;
sql.Add('select dp_name,valid= case dp_validorno when ''1'' then ''有效'' else ''无效'' end from depart where dp_no='''+trim(s)+'''');
open;
showmessage(trim(dm.AQ1.Fields.Fields[0].AsString)+' 是'+dm.AQ1.Fields.Fields[1].AsString+'的');
close;
sql.Clear;
end;
end;
procedure TForm_depart.FormShow(Sender: TObject);
begin
selectvalid();
end;
procedure TForm_depart.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_F4 then
begin
add.Click;
Key := 0;
exit;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -