永发信息网

C# WinForm中,如何清空ListBox并重新从数据库载入数据?

答案:6  悬赏:10  手机版
解决时间 2021-05-11 17:29

 

载入数据函数为 Loadinfo()

 

程序界面如下:

 

当打开程序界面时,会自动从数据库中载入数据到ListBox控件中显示。

当我选中其中一条记录时,可以获得记录在数据库中的主码,再点击“刷新”按钮就可以重新显示数据,

现在想用listbox1.item.clear()把整个listbox1的数据清空,再载入数据。

但是代码如果这样写:

listbox1.item.clear();

loadinfo();

那就会把原来的数据增加一倍显示,效果如下:

刷新后:

 

 

请问为什么会这样?如何解决这问题?

 

 

最佳答案

 调试后你会发现,你的dataset数据增加了。那个ds的变量就是DataSet对象。一看就知道是在loadinfo()函数外面声明的了。作为全局变量,每次刷新都会运行这个函数,那么ds也每次都增加。


你应该把ds声明在loadinfo里面。这样就每次是声明新的dataset,数据也就跟数据库里面的一样了。

全部回答
listbox1.item.clear();把这句代码写在 loadinfo()方法里面第一行看看
listbox1.Refresh();强制重绘一次就没有了  

因为你的dataset的数据是累加的,dataset定义放在loadinfo里面就没问题了。

比起找到这个错误的原因,我更希望你学会Debug,如果你会Debug,根本不会问出这样的问题,在table.Rows.Count这个里放断点,看看这个Count是3还是6
listbox1.item.clear(); 的位置不对 调整位置就可以实现了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
郁闷了~谁有好听的歌推荐下哈?
有哪些地方的火车站可以直到江油火车站
请问怎么样才能找回自己呢?
内存不足怎么回事
夜色盛宴这部小说谁有啊 给提供一个 谢谢
冬天到临,50多岁的中年龄该吃什么好?
十字绣什么进口牌子的颜色好,质量好,价格实
"失业的"外语单词怎么写?
山东省专科类院校开学时间
我是高二学生,现在母亲调动工作在西昌市工作
地狱狂蛇这款鼠标怎么样
车罩哪个牌子好,怎么选择车衣车罩
点解D女仔容易发脾气
佐助用的是什么剑?大蛇丸用的是什么剑?鼬的
会计业务的结转有哪些?如何结转?
推荐资讯
一览无余什么意思,一览无余是什么意思?
一九九二年四月十八日是什么星座
急需一个能管理网络的软件(能控制网络流量)
如何知道QQ好友是什么时候加到我的QQ里的?
如何设置0.75磅值粗的框线
找一首歌,谁知道这首歌的名字?
求暗黑2地图全开的工具
怎样能够瞬间解除疲劳?
怎么我的黄钻没设过自动续费,竟然自动续上?
想出去散散心 求 上海到杭州的旅游团?具体细
龙之谷贤者加点方面的问题
想在南岸区读会计上岗证,该去哪里报名!!
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?