📄 frm_schoolinfo.pas
字号:
{
***************************************************************
* 说明:单位基本信息维护 *
***************************************************************
}
unit Frm_SchoolInfo;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ModalForm, DB, ADODB, ComCtrls, Grids, DBGrids, StdCtrls,
YLabelButton, ChangeImage, Menus, ExtCtrls, ImgList, UErrDisplay,
ModalForm1, Buttons;
type
TSchoolInfo = class(TMyModalForm1)
Label1: TLabel;
Edtxqbh: TEdit;
Label2: TLabel;
EdtXqmc: TEdit;
DBGrid1: TDBGrid;
StatusBar1: TStatusBar;
DataSource1: TDataSource;
ADOQry: TADOQuery;
GroupBox1: TGroupBox;
ADOStp: TADOStoredProc;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn5: TBitBtn;
BitBtn4: TBitBtn;
procedure BtnDeleteClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure EdtxqbhKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
private
{ Private declarations }
procedure InitValue; //初始化窗体数据
procedure SetEditValue; //设置各显示框的数据值
function CheckValue: boolean; //检查各个输入框值的准确性
procedure ExecStore(optmode: integer); //执行存储过程
public
{ Public declarations }
end;
var
SchoolInfo: TSchoolInfo;
implementation
uses
DM_DataModal, Uglobal, UgeneralFunc;
{$R *.dfm}
procedure TSchoolInfo.InitValue;
begin
Edtxqbh.Text := '';
Edtxqmc.Text := '';
Edtxqbh.SetFocus;
statusbar1.Panels[2].Text := 'Insert';
with AdoQry do
begin
sql.Clear;
sql.Add('select * from Zx_S_xqxx');
open;
end;
end;
procedure TSchoolInfo.SetEditValue;
begin
if AdoQry.RecordCount > 0 then
begin
Edtxqbh.Text := AdoQry.fieldbyname('xqbh').Value;
Edtxqmc.Text := AdoQry.fieldbyname('xqmc').Value;
end;
end;
function TSchoolInfo.CheckValue: boolean;
begin
result := false;
if Edtxqbh.Text = '' then
begin
statusbar1.Panels[1].Text := '单位编号不可为空值,请输入!';
Edtxqbh.SetFocus;
Edtxqbh.SelectAll;
exit;
end;
if Edtxqmc.Text = '' then
begin
statusbar1.Panels[1].Text := '单位名称不可为空值,请输入!';
Edtxqmc.SetFocus;
Edtxqmc.SelectAll;
exit;
end;
Result := true;
end;
procedure TSchoolInfo.ExecStore(OptMode: integer);
begin
with AdoStp do
begin
parameters.ParamByName('@czdx').Value := 1;
parameters.ParamByName('@czfs').Value := OptMode;
parameters.ParamByName('@xqbh').Value := Edtxqbh.Text;
Parameters.ParamByName('@mc').Value := Edtxqmc.Text;
try
Execproc;
Statusbar1.Panels[1].Text := parameters.paramByName('@retmsg').Value;
InitValue;
except
Statusbar1.Panels[1].Text := '维护单位信息资料时出现意外!';
end;
end;
end;
procedure TSchoolInfo.BtnDeleteClick(Sender: TObject);
var
msg: string;
begin
inherited;
end;
procedure TSchoolInfo.DBGrid1CellClick(Column: TColumn);
begin
inherited;
SetEditValue;
Edtxqbh.SetFocus;
Edtxqbh.SelectAll;
statusbar1.Panels[2].Text := 'Modify';
end;
procedure TSchoolInfo.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := Cafree;
end;
procedure TSchoolInfo.FormDestroy(Sender: TObject);
begin
inherited;
SchoolInfo := nil;
end;
procedure TSchoolInfo.EdtxqbhKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Sqlstr: string;
begin
inherited;
if key = 13 then
begin
if Edtxqbh.Text = '' then
begin
statusbar1.Panels[1].Text := '单位编号不可为空值,请输入!';
exit;
end;
SqlStr := 'select * from zx_s_xqxx where xqbh like ''' + trim(edtxqbh.text) + '''';
with Adoqry do
begin
sql.Clear;
sql.Add(sqlstr);
open;
end;
if Adoqry.RecordCount > 0 then
begin
SetEditValue;
statusbar1.Panels[1].Text := '查找到' + inttostr(Adoqry.RecordCount) + '笔符合条件的记录!';
statusbar1.Panels[2].Text := 'Modify'
end;
Edtxqmc.SetFocus;
edtxqmc.SelectAll;
end;
end;
procedure TSchoolInfo.FormShow(Sender: TObject);
begin
inherited;
InitValue;
end;
procedure TSchoolInfo.BitBtn1Click(Sender: TObject);
begin
inherited;
if CheckValue then ExecStore(1);
end;
procedure TSchoolInfo.BitBtn2Click(Sender: TObject);
begin
inherited;
if CheckValue then ExecStore(3);
end;
procedure TSchoolInfo.BitBtn3Click(Sender: TObject);
var
msg:string;
begin
inherited;
msg := '请确认要删除该笔单位信息!';
if showmsg(msg, 0, 2) then
begin
ExecStore(2);
end
else
statusbar1.Panels[1].Text := '删除操作已取消!';
end;
procedure TSchoolInfo.BitBtn4Click(Sender: TObject);
begin
inherited;
InitValue;
statusbar1.Panels[1].Text := '';
end;
procedure TSchoolInfo.BitBtn5Click(Sender: TObject);
var
Sqlstr: string;
begin
inherited;
if (length(trim(Edtxqbh.Text)) > 0) and (length(trim(Edtxqmc.Text)) = 0) then
SqlStr := 'select * from zx_s_xqxx where xqbh like ''' + trim(edtxqbh.text) + ''''
else
if (length(trim(Edtxqbh.Text)) = 0) and (length(trim(Edtxqmc.Text)) > 0) then
SqlStr := 'select * from zx_s_xqxx where xqmc like ''' + trim(edtxqmc.text) + ''''
else
if (length(trim(Edtxqbh.Text)) > 0) and (length(trim(Edtxqmc.Text)) > 0) then
SqlStr := 'select * from zx_s_xqxx where (xqbh like ''' + trim(edtxqbh.text)
+ ''') and (xqmc like ''' + trim(edtxqmc.text) + ''')'
else begin
statusbar1.Panels[1].Text := '请输入查询条件校区编号或校区名称!';
exit;
end;
with Adoqry do
begin
sql.Clear;
sql.Add(sqlstr);
open;
end;
if Adoqry.RecordCount > 0 then
begin
SetEditValue;
Edtxqbh.SetFocus;
edtxqbh.SelectAll;
statusbar1.Panels[1].Text := '查找到' + inttostr(Adoqry.RecordCount) + '笔符合条件的记录!';
statusbar1.Panels[2].Text := 'Modify'
end
else begin
InitValue;
statusbar1.Panels[1].Text := '无符合条件的单位信息!';
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -