⑸ 编写“添加”按钮的OnClick事件,实现教师的添加任务。因添加和修改后都需要保存记录数据,故在该事件中通过“添加”按钮对象SBtnAdd的Tag值加以识别,该值为0说明是修改保存;若为1则为添加保存,详细实现代码如下:
procedure TFormTeacher.SBtnAddClick(Sender: TObject);
begin
if SBtnAdd.Tag = 1 then Exit; // 已在添加状态
DMServerDB.ADODataSetTeacher.Append; // 插入一个空记录
EditPassWord.Text := '';
DBEditTeacherID.SetFocus;
SBtnAdd.Tag := 1; // 设置添加状态
end;
⑹ 编写“保存”按钮的OnClick事件,实现修改数据的存盘工作,相关代码如下:
procedure TFormTeacher.SBtnSaveClick(Sender: TObject);
begin
try
if DBEditPassWord.Text<>EditPassWord.Text then begin
ShowMessage('对不起,密码错误'); Exit;
end;
with DMServerDB do begin
ADODataSetTeacher.Edit; // 进入编辑状态
ADODataSetTeacher.Post; // 记录保存
if SBtnAdd.Tag = 1 then begin //若是添加状态
// 添加默认角色
strSQL := 'INSERT INTO UserRole VALUES('''+Role_Teacher;
strSQL := strSQL +''','''+DBEditTeacherID.Text+''')';
ADOCommand.CommandText := strSQL;
ADOCommand.Execute;
end;
end;
SBtnAdd.Tag := 0; // 恢复浏览状态
except
end;
end;
⑺ 编写“删除”按钮的OnClick事件,实现记录数据的删除工作,相关代码如下:
procedure TFormTeacher.SBtnDeleteClick(Sender: TObject);
begin
with DMServerDB do begin
if DBEditTeacherID.Text='Admin' then begin
ShowMessage('Admin是系统用户,不能删除'); Exit;
end;
strTemp := '要删除:'+DBEditTeacherName.Text+'教师记录吗?';
if Application.MessageBox(PChar(strTemp),'删除警告',MB_OKCANCEL)=IDCANCEL then
Exit;
try
// 删除该用户所拥有的角色
strSQL := 'Delete From UserRole Where UserID='''+DBEditTeacherID.Text+'''';
ADOCommand.CommandText := strSQL;
ADOCommand.Execute;
ADODataSetTeacher.Delete; // 删除该记录
except
end;
end;
end;
|