C

雅轩聊科技 2024-09-19 19:24:55

哈喽,你好啊,我是雷工!

今天在交流群有朋友说起这么一个问题,要学技术,但不要沉迷于技术。

深有感触,我们要基于实际应用的角度学习技术,也可以了解一下网赚、副业、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 后记

以上为删除人员信息功能的实现笔记,这次更新间隔时间有点长,主要是在搞网盘拉新的副业,时间不太够用,就有点顾不上。

接下来会及时更新。

0 阅读:0

雅轩聊科技

简介:感谢大家的关注