C#WinForm DataGridView绑定了数据库 当数据库数据更新时如何使DataGridView自动更新数据

heng_g 2012-08-05 01:09:28
C#WinForm中DataGridView绑定了数据库, 当数据库数据更新时,如何使DataGridView自动更新数据。
要求不用定时器,可以用触发器,但如何用?还有别的方法吗?
已知代码:
dataGridView_customer.DataSource=ds.Tables["customerInfo"];//绑定了数据库的视图
我还有个问题:对于某个数据表,建立一个视图,当数据表的数据更新时,视图会自动更新吗?

...全文
1036 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
changhong_sd 2014-03-27
  • 打赏
  • 举报
回复
9楼是正解, Commander 模式
heng_g 2012-08-06
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]

如果绑定和修改是同一程序的话修改后重新绑定就行了。
如果不是同一个程序的话就用socket,但使用socket也有很多局限性。
如果想简单省事的话用sql 的查询通知的机制,具体用法查看SqlDependency类
还有一个更强大的方法,service broken但是我还没研究好
[/Quote]
嗯嗯,的确要往这个方向走,谢谢提供思路
http://database.51cto.com/art/200612/37094_1.htm
http://kb.cnblogs.com/a/1964923/
  • 打赏
  • 举报
回复
程序设计就是你在创作一部卡通片啊,每一条语句所放的位置和顺序就是按照设定的动作时间循序写,逻辑就需要考虑全面些了。
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

引用 1 楼 的回复:

更新数据事件最后更新绑定

更新数据后会有什么事件会触发尼??
[/Quote]
哎。。。。。。在你更新代码最后一行写重新绑的数据给显示啊
heng_g 2012-08-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

你可以在代码中用委托,就是写个方法来获取数据库中的数据,然后再绑定到datagridview上,如果数据库上的数据发生改变时,datagridview就会自动刷新,并将数据显示出来
[/Quote]
这样子可以吗??可以贴一下代码吗?
heng_g 2012-08-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

可以用udp组播触发。所有更新数据库的操作后都发一条组播信息,收到信息刷新即可
[/Quote]
你的意思是这样子吧?数据库那端的主机要写一个程序,判断每次从客户端收到的数据库更新操作后,再组播一个UPD包给所以客户端,客户端收到了UDP包后再更新数据?
heng_g 2012-08-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

更新数据事件最后更新绑定
[/Quote]
更新数据后会有什么事件会触发尼??
DH920 2012-08-05
  • 打赏
  • 举报
回复
你可以在代码中用委托,就是写个方法来获取数据库中的数据,然后再绑定到datagridview上,如果数据库上的数据发生改变时,datagridview就会自动刷新,并将数据显示出来
zhui22222 2012-08-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

引用 2 楼 的回复:

可以用udp组播触发。所有更新数据库的操作后都发一条组播信息,收到信息刷新即可

你的意思是这样子吧?数据库那端的主机要写一个程序,判断每次从客户端收到的数据库更新操作后,再组播一个UPD包给所以客户端,客户端收到了UDP包后再更新数据?
[/Quote]
约定每个访问数据库的客户端程序,凡是对数据库更新的操作后都发送udp组播信息
zhui22222 2012-08-05
  • 打赏
  • 举报
回复
可以用udp组播触发。所有更新数据库的操作后都发一条组播信息,收到信息刷新即可
  • 打赏
  • 举报
回复
更新数据事件最后更新绑定
马少华 2012-08-05
  • 打赏
  • 举报
回复
如果绑定和修改是同一程序的话修改后重新绑定就行了。
如果不是同一个程序的话就用socket,但使用socket也有很多局限性。
如果想简单省事的话用sql 的查询通知的机制,具体用法查看SqlDependency类
还有一个更强大的方法,service broken但是我还没研究好
aboutC 2012-08-05
  • 打赏
  • 举报
回复
datatable 绑定
heng_g 2012-08-05
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

引用 7 楼 的回复:

引用 1 楼 的回复:

更新数据事件最后更新绑定

更新数据后会有什么事件会触发尼??

哎。。。。。。在你更新代码最后一行写重新绑的数据给显示啊
[/Quote]
嗯,这个在单客户端更新本地数据库是行的。
但是我程序现在的问题是
1个后台主机里面有数据库表,多个客户端可以访问(或者操作)这个主机的数据库表。
现在问题是当1个客户端对数据库操作后(假设增加了一条记录),主机的数据库表是会变化的(加了一条记录)。但是其他的客户端如何实时的反映主机的数据库表数据的更新呢??
客户端用的控件是DataGridView

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧