winform中(当数据库的数据有变化时)datagridview 刷新的问题
答案:2 悬赏:0
解决时间 2021-02-14 10:49
- 提问者网友:先森请一心
- 2021-02-13 10:32
winform中(当数据库的数据有变化时)datagridview 刷新的问题
最佳答案
- 二级知识专家网友:星星坠落
- 2021-02-13 11:59
winform有一个特点,只要你将数据源变化了,datagridview自然就变化了。
你如果不想每隔几秒刷,我这有两个办法。
一,记录你每次修改每张表的时间。也就是你对这个表中的数据进行增删改操作,就在数据库里把这个表的更新时间记录一下。然后在打开这个窗体进行查询的时候,同时获得这个时间,剩下的,你在timer里去拿你查询时记录的这个时间去和表中记录的时间去比较,不一样了,就说明改变了,你就重新读一遍数据去刷新grid
二,如果你的SQL版本是2005及以上,可以利用SqlDependency来实现,关于这个类的具体用法你可以百度一下,我说一下功能,就是建立一个数据库依赖,当数据库表一旦发生变化时,会自动触发.net程序中的一个方法,在这个方法中你去重新获取数据,更新你的数据源。
你如果不想每隔几秒刷,我这有两个办法。
一,记录你每次修改每张表的时间。也就是你对这个表中的数据进行增删改操作,就在数据库里把这个表的更新时间记录一下。然后在打开这个窗体进行查询的时候,同时获得这个时间,剩下的,你在timer里去拿你查询时记录的这个时间去和表中记录的时间去比较,不一样了,就说明改变了,你就重新读一遍数据去刷新grid
二,如果你的SQL版本是2005及以上,可以利用SqlDependency来实现,关于这个类的具体用法你可以百度一下,我说一下功能,就是建立一个数据库依赖,当数据库表一旦发生变化时,会自动触发.net程序中的一个方法,在这个方法中你去重新获取数据,更新你的数据源。
全部回答
- 1楼网友:虚伪的现实
- 2021-02-13 12:43
首先不建议绑定数据库,这样你的datagridview的重用性也更高,还有datagridview不可能与数据库同步更新,目前数据库不支持事件,所以即便你数据库做了更改,datagridview里的数据也不会实时刷新,或者你写个定时器,周期性刷新,也差不多,但绝对不会自动同步!!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯