winform中(当数据库的数据有变化时)datagridview 刷新的问题
B用户查询datagridview中显示人员信息,当A用户在同时登录这个程序而更改了某人员的信息时,B用户怎样也能在他当前查询界面不关闭的情况下看到更改的信息?如果用ti...
B用户查询datagridview中显示人员信息,当A用户在同时登录这个程序而更改了某人员的信息时,B用户怎样也能在他当前查询界面不关闭的情况下看到更改的信息? 如果用timer控件,怎么判断数据变化了再刷新,而不是隔几秒窗体就闪一下。
展开
1个回答
展开全部
winform有一个特点,只要你将数据源变化了,datagridview自然就变化了。
你如果不想每隔几秒刷,我这有两个办法。
一,记录你每次修改每张表的时间。也就是你对这个表中的数据进行增删改操作,就在数据库里把这个表的更新时间记录一下。然后在打开这个窗体进行查询的时候,同时获得这个时间,剩下的,你在timer里去拿你查询时记录的这个时间去和表中记录的时间去比较,不一样了,就说明改变了,你就重新读一遍数据去刷新grid
二,如果你的SQL版本是2005及以上,可以利用SqlDependency来实现,关于这个类的具体用法你可以百度一下,我说一下功能,就是建立一个数据库依赖,当数据库表一旦发生变化时,会自动触发.net程序中的一个方法,在这个方法中你去重新获取数据,更新你的数据源。
你如果不想每隔几秒刷,我这有两个办法。
一,记录你每次修改每张表的时间。也就是你对这个表中的数据进行增删改操作,就在数据库里把这个表的更新时间记录一下。然后在打开这个窗体进行查询的时候,同时获得这个时间,剩下的,你在timer里去拿你查询时记录的这个时间去和表中记录的时间去比较,不一样了,就说明改变了,你就重新读一遍数据去刷新grid
二,如果你的SQL版本是2005及以上,可以利用SqlDependency来实现,关于这个类的具体用法你可以百度一下,我说一下功能,就是建立一个数据库依赖,当数据库表一旦发生变化时,会自动触发.net程序中的一个方法,在这个方法中你去重新获取数据,更新你的数据源。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询