WPF DataGrid 实现数据库数据更新

colaHK 2012-05-05 11:05:37
在WPF中用datagrid如何直接在datagrid界面上就可以实现更新数据库?就是我可以直接在datagrid上直接增加删除和修改数据,然后更新到数据库,特别是Update的方法,网上很多没有写清楚Update这个方法是怎么写的。请大神指导,谢谢
...全文
699 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
毫米 2013-09-02
  • 打赏
  • 举报
回复
引用 5 楼 DENQH 的回复:
WPF DG和WINFORM是一样的,关键是 public static DataTable UpdateDataTable(string SqlString, DataTable table) { using (SqlConnection connection = new SqlConnection(ConnStr)) { connection.Open(); SqlDataAdapter Adapter = new SqlDataAdapter(); Adapter.SelectCommand = new SqlCommand(SqlString, connection); SqlCommandBuilder builder = new SqlCommandBuilder(Adapter); Adapter.Update(table); return table; } } //保存数据 string sql="select * from tablename"; dataGrid1.CommitEdit(); DataTable tabled = (dataGrid1.ItemsSource as DataView).Table; UpdateDataTable(sql,tabled);
为什么要用dataGrid1.CommitEdit()呢,是不是列是单向绑定的情况,如果列是双向绑定的,一旦单元格失去焦点,就会更新数据源
DENQH 2013-09-02
  • 打赏
  • 举报
回复
WPF DG和WINFORM是一样的,关键是 public static DataTable UpdateDataTable(string SqlString, DataTable table) { using (SqlConnection connection = new SqlConnection(ConnStr)) { connection.Open(); SqlDataAdapter Adapter = new SqlDataAdapter(); Adapter.SelectCommand = new SqlCommand(SqlString, connection); SqlCommandBuilder builder = new SqlCommandBuilder(Adapter); Adapter.Update(table); return table; } } //保存数据 string sql="select * from tablename"; dataGrid1.CommitEdit(); DataTable tabled = (dataGrid1.ItemsSource as DataView).Table; UpdateDataTable(sql,tabled);
dlfdf0fd 2013-09-02
  • 打赏
  • 举报
回复
引用 3 楼 colaHK 的回复:
[Quote=引用 2 楼 的回复:] WPF没做过 说下winform我的思路 要么是更新数据库后重新获得数据放在dataTable中 然后把dataTable绑定给gridivew 要么是更新数据库后,程序在界面中直接操作更新的所在行。。 不清楚有没有更好的方法。。 [/Quote] winform我做过的,在有主键情况下用commandbuilder可以很好的解决,而WPF不行啊
是啊,有同感,楼主解决没?
colaHK 2012-05-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
WPF没做过 说下winform我的思路 要么是更新数据库后重新获得数据放在dataTable中 然后把dataTable绑定给gridivew
要么是更新数据库后,程序在界面中直接操作更新的所在行。。

不清楚有没有更好的方法。。
[/Quote]
winform我做过的,在有主键情况下用commandbuilder可以很好的解决,而WPF不行啊
orochiheart 2012-05-05
  • 打赏
  • 举报
回复
WPF没做过 说下winform我的思路 要么是更新数据库后重新获得数据放在dataTable中 然后把dataTable绑定给gridivew
要么是更新数据库后,程序在界面中直接操作更新的所在行。。

不清楚有没有更好的方法。。

110,532

社区成员

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

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

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