📄 frm_studentinfo.pas
字号:
{
***************************************************************
* 说明:信息维护 *
***************************************************************
}
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 + -