——此文章摘自《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>] |