网站首页 > 开源技术 正文
哈喽,你好啊,我是雷工!
今天在交流群有朋友说起这么一个问题,要学技术,但不要沉迷于技术。
深有感触,我们要基于实际应用的角度学习技术,也可以了解一下网赚、副业、AI知识的学习了解。
不要为了学习而学习。要为了提升,开阔眼界而学习。
接下来继续练习人员管理系统。前面实现了人员信息的添加,查询,修改功能的实现,接下来练习删除功能。
以下为练习笔记。
01 效果演示
在人员列表中选中某条人员信息,然后点击【删除】按钮,弹出二次确认窗口,确认是否要删除?
当点击【确定】按钮时,将选中的人员信息从数据库中删除,当点击【取消】按钮时,则关闭确认弹窗,无其他操作。
02 实现步骤
2.1、删除方法
在PeopleServer中添加删除人员的方法
方法①
/// <summary>
/// 根据人员编号删除人员对象
/// </summary>
/// <param name="peopleId"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public int DeletePeople(string peopleId)
{
string sql = "delete from Peoples where PeopleId=" + peopleId;
try
{
return SQLHelper.Update(sql);
}
catch (SqlException ex)
{
if(ex.Number==547)
{
throw new Exception("该编号被其他实体引用,不能直接删除该人员对象!");
}
else
{
throw new Exception("删除人员对象发生数据操作异常:\r\n"+ex.Message);
}
}
catch(Exception ex)
{
throw ex;
}
}
方法②基于对象的方式
/// <summary>
/// 根据人员编号删除人员对象[以对象方式]
/// </summary>
/// <param name="peopleId"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public int DeletePeople(People objPeople)
{
string sql = "delete from Peoples where PeopleId=" + objPeople.PeopleId;
try
{
return SQLHelper.Update(sql);
}
catch (SqlException ex)
{
if(ex.Number==547)
{
throw new Exception("该编号被其他实体引用,不能直接删除该人员对象!");
}
else
{
throw new Exception("删除人员对象发生数据操作异常:\r\n"+ex.Message);
}
}
catch(Exception ex)
{
throw ex;
}
}
2.2、删除事件
2.2.1、实现思路
①创建事件;
②检查列表中是否存在信息;
③检查是否有选中某个人员的信息;
④删除前弹窗二次确认;
⑤选【取消】则不做操作;
⑥选【确定】则获取人员编号,
2.2.2、实现步骤
①在人员信息管理窗口FrmPeopleManage中,双击【删除】按钮,生成删除按钮事件代码;
②代码如下:
private void btnDel_Click(object sender, EventArgs e)
{
if(this.dgvPeopleList.RowCount==0)
{
MessageBox.Show("列表中无任何信息!","雷工提示");
return;
}
if(this.dgvPeopleList.CurrentRow==null)
{
MessageBox.Show("还未选中要删除的人员行!", "雷工提示");
return;
}
//删除前二次确认
DialogResult result = MessageBox.Show("确定要删除该人员信息吗?","雷工提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);
if (result == DialogResult.Cancel) return;
//获取人员编号
string peopleId = this.dgvPeopleList.CurrentRow.Cells["PeopleId"].Value.ToString();
try
{
if(objPeoServer.DeletePeople(peopleId)==1)
{
//同步刷新(本方法数据较少时可用,实际项目应用较少)
btnQuery_Click(null, null);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message,"雷工提示");
}
}
03 界面防闪烁
当界面中使用图片太多,或者图片的分辨率太高时,当界面刷新重绘的时候,会导致看上去闪烁的问题,曾经有朋友在留言区问过这个问题。
通过网络搜索,测试,通过在闪烁的窗体的代码中加入一段防抖代码即可解决该问题,经测试有效,现将代码贴到下方:
代码如下:
//欢迎,点赞,留言,需要可找,小编,要
04 后记
以上为删除人员信息功能的实现笔记,这次更新间隔时间有点长,主要是在搞网盘拉新的副业,时间不太够用,就有点顾不上。
接下来会及时更新。
猜你喜欢
- 2024-10-21 C#实战|人员管理系统[13]:修改密码功能的实现
- 2024-10-21 mybatis-plus sql注入原理(3.0.1)
- 2024-10-21 C#实战|人员管理系统[22]:按照所属组织名称查询人员列表
- 2024-10-21 C#实战|人员管理系统[32]:修改人员信息的实现
- 2024-10-21 实例讲解MyBatisPlus自定义sql注入器方法
- 2024-10-21 SQL辅助类(sql添加辅助数据库文件)
- 2024-10-21 C#知识|账号管理系统:使用带参数的SQL语句编程添加账号的方法。
- 2024-10-21 SQL注入攻防入门详解(简单的sql注入攻击教程)
- 2024-10-21 SQL - 编写SqlHelper帮助类,简化数据操作代码 173
- 2024-10-21 ADO.Net-SQLHelper帮助类 158(帮助列表)
你 发表评论:
欢迎- 03-19基于layui+springcloud的企业级微服务框架
- 03-19开箱即用的前端开发模板,扩展Layui原生UI样式,集成第三方组件
- 03-19SpringMVC +Spring +Mybatis + Layui通用后台管理系统OneManageV2.1
- 03-19SpringBoot+LayUI后台管理系统开发脚手架
- 03-19layui下拉菜单form.render局部刷新方法亲测有效
- 03-19Layui 遇到的坑(记录贴)(layui chm)
- 03-19基于ASP.NET MVC + Layui的通用后台开发框架
- 03-19LayUi自定义模块的定义与使用(layui自定义表格)
- 最近发表
-
- 基于layui+springcloud的企业级微服务框架
- 开箱即用的前端开发模板,扩展Layui原生UI样式,集成第三方组件
- SpringMVC +Spring +Mybatis + Layui通用后台管理系统OneManageV2.1
- SpringBoot+LayUI后台管理系统开发脚手架
- layui下拉菜单form.render局部刷新方法亲测有效
- Layui 遇到的坑(记录贴)(layui chm)
- 基于ASP.NET MVC + Layui的通用后台开发框架
- LayUi自定义模块的定义与使用(layui自定义表格)
- Layui 2.9.11正式发布(layui2.6)
- Layui 2.9.13正式发布(layui2.6)
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)