⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frm_schoolinfo.pas

📁 是一个用delphi设计的考勤系统
💻 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 + -