电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

职员信息维护功能的实现(二)[2]


发布日期:2018/5/15
 
——此文章摘自《Delphi 数据库开发经典案例解析》定价特价购买>>http://tracklinktechcn/?m_id=dangdang&a_id=A&l=&l_type= width= height= border= nosave>

//读入要删除记录的职员的姓名和职员编号

deleteName:=editText;

deleteNum:=dbgridFields[]AsInteger;

//为保险起见只有职员姓名和编号都符合时才能删除

adocommandCommandText:=delete from 职员基本信息表

where (内部编号=+inttostr(deleteNum)+)and(姓名=+deleteName+);

adocommandExecute;

//显示删除成功的消息

MessageBox(删除记录成功!删除MB_OK);

labelCaption:=deleteName+的记录已被成功删除;

//刷新dbgrid的数据

adotableActive:=false;

adotableActive:=true;

end;

//插入新记录

procedure TmainButtonClick(Sender: TObject);

var

MaxIntNum:integer;

TotalNum:integer;

begin

adoqueryClose;

adoquerySQLClear;

adoquerySQLAdd(select max(内部编号) 最大编号count(内部编号) 总人数 from 职员基本信息表);

adoqueryOpen;

//计算数据表中职员内部编号的最大值和总人数

//自动计算新插入的职员数据的内部编号

MaxIntNum:=adoqueryFieldByName(最大编号)AsInteger;

TotalNum:=adoqueryFieldByName(总人数)AsInteger;

adoqueryClose;

adoquerySQLClear;

adoquerySQLAdd(select count(职员编号) 雷同编号 from 职员基本信息表

where 职员编号=+editText+);

adoqueryOpen;

//判断输入的职员编号如果输入的职员编号于已有的相同则提示修改

if (adoqueryFieldByName(雷同编号)AsInteger>) then

MessageBox(职员编号与其他职员编号雷同!Error!MB_OK)

else

begin

//不允许用户输入空的编号和姓名如果输入为空则提示错误

if (editText=)or(editText=) then

MessageBox(姓名和编号不能为空!Error!MB_OK)

else

begin

//打开职员基本信息表插入许可

adocommandCommandText:=set IDENTITY_insert 职员基本信息表 on;

adocommandExecute;

//向表中插入新记录这里只插入了不能为空的三项后面用update语句来对它进行更新

adocommandCommandText:=insert into 职员基本信息表([内部编号] [职员编号]

right>[http://developcsaicn/delphi/htm>] [] [http://developcsaicn/delphi/htm>]

上一篇:职员信息维护功能的实现(二)[3]

下一篇:根据生日自动计算年龄与找零功能