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

📄 frm_studentinfo.pas

📁 是一个用delphi设计的考勤系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
{
***************************************************************
*  说明:信息维护                                        *

***************************************************************
}
unit Frm_StudentInfo;

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;

type
   TStudentInfo = class(TMyModalForm1)
      BtnNew: TChangeImg;
      LbtnNew: TLabelB;
      BtnEdit: TChangeImg;
      LBtnEdit: TLabelB;
      BtnDelete: TChangeImg;
      LBtnDelete: TLabelB;
      BtnRefresh: TChangeImg;
      LBtnRefresh: TLabelB;
      BtnFind: TChangeImg;
      LBtnFind: TLabelB;
      StatusBar1: TStatusBar;
      DataSource1: TDataSource;
      ADOQry: TADOQuery;
      ADOStp: TADOStoredProc;
      GroupBox2: TGroupBox;
      Tv_YzList: TTreeView;
      GroupBox3: TGroupBox;
      Label2: TLabel;
      edtyhbh: TEdit;
      Label4: TLabel;
      edtyhxm: TEdit;
      Label8: TLabel;
      Label3: TLabel;
      Label5: TLabel;
      edtdjrq: TEdit;
      Label1: TLabel;
      GroupBox1: TGroupBox;
      DBGrid1: TDBGrid;
      Edtsfzh: TEdit;
      ImageList1: TImageList;
      Rbtdbcl: TRadioButton;
      Rbtplgx: TRadioButton;
      BtnFirst: TChangeImg;
      LBtnFirst: TLabelB;
      BtnPrev: TChangeImg;
      LBtnPrev: TLabelB;
      BtnNext: TChangeImg;
      LBtnNext: TLabelB;
      BtnLast: TChangeImg;
      LBtnLast: TLabelB;
      Cbxb: TComboBox;
      BtnBrowse: TChangeImg;
      Edtszbj: TEdit;
      Label6: TLabel;
      edtyhzh: TEdit;
      procedure BtnNewClick(Sender: TObject);
      procedure BtnEditClick(Sender: TObject);
      procedure BtnDeleteClick(Sender: TObject);
      procedure BtnRefreshClick(Sender: TObject);
      procedure BtnFindClick(Sender: TObject);
      procedure FormClose(Sender: TObject; var Action: TCloseAction);
      procedure FormDestroy(Sender: TObject);
      procedure FormShow(Sender: TObject);
      procedure Tv_YzListClick(Sender: TObject);
      procedure CbxbKeyPress(Sender: TObject; var Key: Char);
      procedure cbszbjKeyPress(Sender: TObject; var Key: Char);
      procedure EdtsfzhKeyPress(Sender: TObject; var Key: Char);
      procedure RbtplgxClick(Sender: TObject);
      procedure FormCreate(Sender: TObject);
      procedure edtyhbhKeyDown(Sender: TObject; var Key: Word;
         Shift: TShiftState);
      procedure RbtdbclClick(Sender: TObject);
      procedure BtnFirstClick(Sender: TObject);
      procedure BtnPrevClick(Sender: TObject);
      procedure BtnNextClick(Sender: TObject);
      procedure BtnLastClick(Sender: TObject);
      procedure BtnBrowseClick(Sender: TObject);
      procedure EdtszbjClick(Sender: TObject);
      procedure EdtszbjKeyPress(Sender: TObject; var Key: Char);
      procedure DBGrid1CellClick(Column: TColumn);
      procedure FormActivate(Sender: TObject);
      procedure edtyhbhKeyPress(Sender: TObject; var Key: Char);
   private
    { Private declarations }
      m_NodeValue: string; //节点关联的数值
      P_bjbh, o_bjbh, o_bjmc: string; //部门编号
      procedure InitValue; //初始化窗体数据
      procedure SetEditValue; //设置各显示框的数据值
      function CheckValue: boolean; //检查各个输入框值的准确性
      procedure ExecStore(optmode: integer); //执行存储过程
    //设置机构信息
      procedure GetOwnerInfo;
   public
    { Public declarations }
   end;

var
   StudentInfo: TStudentInfo;
   CurYhbh: string;
implementation
uses
   DM_DataModal, Uglobal, UgeneralFunc, Frm_SlectClass, UPublicFunc;
{$R *.dfm}

procedure TStudentInfo.InitValue;
var
   sqlstr: string;
begin
   Edtyhbh.Text := '';
   Edtyhxm.Text := '';
   Cbxb.ItemIndex := 0;
   Edtsfzh.Text := '';
   Edtszbj.Text := '';
   Edtyhzh.Text := '';
   Edtdjrq.Text := formatdatetime('yyyy/mm/dd', now);
   o_bjbh := '';
   Edtyhbh.SetFocus;
   rbtdbcl.Checked := true;
   Sqlstr := 'select yhbh,yhxm,sfzh,xb,bjbh,djrq,bjmc,cardsn from Vzx_s_yhxx where bjbh=''' + p_bjbh + '''';
   Sqlstr := Sqlstr + ' order by yhbh';
   GetRecord(AdoQry, Sqlstr);
   statusbar1.Panels[2].Text := 'Insert';
end;

procedure TStudentInfo.SetEditValue;
begin
   if AdoQry.RecordCount > 0 then
   begin
      CurYhbh := AdoQry.fieldbyname('yhbh').Value;
      Edtyhbh.Text := AdoQry.fieldbyname('yhbh').Value;
      Edtyhxm.Text := AdoQry.fieldbyname('yhxm').Value;
      Cbxb.Text := AdoQry.fieldbyname('xb').Value;
      Edtsfzh.Text := AdoQry.fieldbyname('sfzh').Value;
      Edtdjrq.Text := AdoQry.fieldbyname('djrq').Value;
      edtszbj.text := AdoQry.fieldbyname('bjmc').Value;
      edtyhzh.Text := AdoQry.fieldbyname('cardsn').asstring;
      p_bjbh := AdoQry.fieldbyname('bjbh').Value;
      o_bjbh := AdoQry.fieldbyname('bjbh').Value;
      o_bjmc := AdoQry.fieldbyname('bjmc').Value;
   end;
end;

function TStudentInfo.CheckValue: boolean;
begin
   result := false;
   if Edtyhbh.Text = '' then
   begin
      statusbar1.Panels[1].Text := '用户编号不可为空值,请输入!';
      Edtyhbh.SetFocus;
      Edtyhbh.SelectAll;
      exit;
   end;
   if Edtyhxm.Text = '' then
   begin
      statusbar1.Panels[1].Text := '用户姓名不可为空值,请输入!';
      Edtyhxm.SetFocus;
      Edtyhxm.SelectAll;
      exit;
   end;
   if Cbxb.Text = '' then
   begin
      statusbar1.Panels[1].Text := '性别不可为空值,请选择!';
      Cbxb.SetFocus;
      Cbxb.SelectAll;
      exit;
   end;
   if Edtszbj.Text = '' then
   begin
      statusbar1.Panels[1].Text := '所在部门不可为空值,请选择!';
      Edtszbj.SetFocus;
      Edtszbj.SelectAll;
      exit;
   end;
   Result := true;
end;

procedure TStudentInfo.ExecStore(OptMode: integer);
begin
   with ADOStp do
   begin
      parameters.ParamByName('@czfs').Value := OptMode;
      parameters.ParamByName('@yhbh').Value := Edtyhbh.Text;
       Parameters.ParamByName('@bjbh').Value := p_bjbh;
      Parameters.ParamByName('@yhxm').Value := Edtyhxm.Text;
      Parameters.ParamByName('@xb').Value := Cbxb.Text;
      Parameters.ParamByName('@sfzh').Value := Edtsfzh.Text;
      parameters.parambyname('@cardsn').value := trim(edtyhzh.Text);
      try
         Execproc;
         Statusbar1.Panels[1].Text := parameters.paramByName('@retmsg').Value;
         InitValue;
      except
         Statusbar1.Panels[1].Text := '维护用户信息资料时出现意外!';
      end;
   end;
end;



procedure TStudentInfo.BtnNewClick(Sender: TObject);
begin
   inherited;
   if CheckValue then ExecStore(1);
end;

procedure TStudentInfo.BtnEditClick(Sender: TObject);
var
   Sqlstr: string;
   msg: string;
begin
   inherited;
   if CurYhbh <> trim(edtyhbh.Text) then
   begin
      statusbar1.Panels[1].Text := '用户编号已被更改,不能更新';
      exit;
   end;
   if (rbtplgx.Checked) and (length(o_bjbh) > 0) then
   begin
      msg := '请确认要把!' + o_bjmc + '的用户全部更新为' + Edtszbj.Text + '的用户!';
      if showmsg(msg, 0, 2) then
      begin
         sqlstr := 'update zx_s_yhxx set bjbh=''' + p_bjbh + ''' where bjbh=''' + o_bjbh + '''';
         ExecQuery(WindData.AdoConn, Sqlstr);
         InitValue;
         exit;
      end
      else
         statusbar1.Panels[1].Text := '更新操作已取消!';
   end;
   if CheckValue then ExecStore(3);
end;

procedure TStudentInfo.BtnDeleteClick(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 TStudentInfo.BtnRefreshClick(Sender: TObject);
begin
   inherited;
   InitValue;
   statusbar1.Panels[1].Text := '';
end;

procedure TStudentInfo.BtnFindClick(Sender: TObject);
var
   Sqlstr: string;
   iRec: integer;
begin
   inherited;
   iRec := 0;
   Sqlstr := 'select * from Vzx_s_yhxx';
   if (length(trim(Edtyhbh.Text)) > 0) then
   begin
      if irec < 1 then
      begin
         SqlStr := Sqlstr + ' where (yhbh like ''' + trim(Edtyhbh.text) + ''')';
         inc(irec);
      end
      else begin
         SqlStr := Sqlstr + ' and (yhbh like ''' + trim(Edtyhbh.text) + ''')';
         inc(irec);
      end;
   end;
   if (length(trim(Edtyhxm.Text)) > 0) then
   begin
      if irec < 1 then

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -