复现一个DataGridView仅显示一行且不显式抛异常的Bug
来源:互联网 发布:论文数据伪造 编辑:程序博客网 时间:2024/06/13 13:21
如图,WinForm项目中创建一个窗体,窗体命名为MainFrm。
在窗体上创建一个DataGridView命名为dgvBug
在窗体的初始化事件中创建一个四行,名为dt的DataTable,并将数据源指向dt:
private void MainFrm_Load(object sender, EventArgs e){ DataTable dt = new DataTable(); DataColumn Name = new DataColumn("Name",typeof(string)); dt.Columns.Add(Name); dt.Rows.Add("111"); dt.Rows.Add("222"); dt.Rows.Add("333"); dt.Rows.Add("444"); dgvBug.DataSource = dt;}
直接运行,可以看到结果:
然后在DataGridView的SelectionChanged事件中创建一个名为reader,值为空的SqlDataReader对象,并让reader读取一行
private void dgvBug_SelectionChanged(object sender, EventArgs e){ SqlDataReader reader = null; reader.Read();}
运行,可以看到DataGridView只显示了一行,而且系统不会显示地抛出异常
这意味着,程序如果当DataGridView的选中行发生变化时, 出现了空的SqlDataReader并令空的reader读取了一行,那么将严重影响DataGridView的数据读入,且此Bug不易被排查。
阅读全文
1 0
- 复现一个DataGridView仅显示一行且不显式抛异常的Bug
- RecyclerView只显示第一行的bug
- DataGridView显示时一行都不选
- 使用checkpoint解决难以复现的Bug
- DatagridView 改变一行 或者一个单元格的颜色
- RecyclerView只显示第一行的bug,自己的解决方案。
- 仅一行代码,打造一个在线编辑器
- 仅一行代码,打造一个在线编辑器
- 仅一行代码,打造一个在线编辑器
- 仅一行代码,打造一个在线编辑器
- DataGridView最后一行 的问题
- dataGridView的最后空白一行
- 使用Mybatis出现的一个异常bug
- GDB技巧:使用checkpoint解决难以复现的Bug
- GDB技巧:使用checkpoint解决难以复现的Bug
- 仅当和当且仅当的区别
- 当且仅当的解释
- 在一个datagridview中显示一个自定义的表格
- ZOJ 2671 (线段树+矩阵乘法)
- rem.js
- .NET线程同步之Volatile构造
- ProjectEuler-Problem10-Summation of primes
- Android 屏幕适配
- 复现一个DataGridView仅显示一行且不显式抛异常的Bug
- Linux_7_swap_配置
- hdu 1814 Peaceful Commission 2-SAT
- application/json 四种常见的 POST 提交数据方式
- Linux Crontab 定时任务 命令详解
- 寻找最低数
- UESTC 1690 这是一道比CCCC简单题难的简单题||HiHoCoder #1048 : 状态压缩·二
- [线段树] [二分图] Codeforces VK Cup 2015
- xcode反汇编调试iOS模拟器程序(四)自动断点应用之NSNotificationCenter