datagridview 数据源来自多个表 应该怎么更新?

jesse1117 2014-12-09 09:43:49
我的datagridview 显示如下


前两列是直接从一个表里读的数据 后两列是根据表里存的数据 在另外两个表里查出的数据
比如表里存的是显示面板的id 然后我在显示面板表里根据id查出的名称 偶 显示在datagridview里 护士站那列同理
现在我在这个datagridview 中更新数据 怎么才能让表里存的id也更新呢?
...全文
170 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sinat_24875973 2016-08-28
  • 打赏
  • 举报
回复
1,绑定DATAGRIDVIEW之前,先: [源表DATATABLE].Merge([查询表Datatable]) 然后再绑定源表DATATABLE到DATAGRIDVIEW。 这样可以用自动化的UPDATE命令正常更新源表的DATATABLE。 原因是,更新时所依据的CommandText没有变,仍为" Select * From [源表] 但上面办法会导致开销较大,主要是DATATABLE.Merge消耗时间比较大。几千行数据可以考虑。几万行就太慢 也可以用: 2,源表DATATABLE由 Select * From 源表 得到 另在数据库建一个完整的表,它是由源表+查询表得到的。一定要是LEFT JOIN创建的。它相当于给源表添加了几列查询列,而没有对源表的原有的行、列产生任何影响。 假定该完整的表(VIEW) 为 :A_View. 则再用Select * From A_View得到一个DataTAble, 直接把这个TABLE跟DGV绑定。 使用 Dataset.Update之前,把DA对应的SELECT语句改下,添加一句:Da.SelectCommnadText="Select * From 源表" ,同样可以正常更新。而且避开了MERGE的巨大开销。 手头有事,写得潦草。如有不当之处,请高手多批评。
jesse1117 2014-12-09
  • 打赏
  • 举报
回复
引用 2 楼 Z65443344 的回复:
你应该自己学会写访问数据库,增删改查的代码 而不是永远靠dataset和数据表绑定的方式去更新数据库
红孩儿说的有道理
exception92 2014-12-09
  • 打赏
  • 举报
回复
在单元格 编辑结束事件中 执行update语句,更新内容为根据修改的值获取id,再把Id更新到 所谓的 显示面板表里。
於黾 2014-12-09
  • 打赏
  • 举报
回复
你应该自己学会写访问数据库,增删改查的代码 而不是永远靠dataset和数据表绑定的方式去更新数据库
xdashewan 2014-12-09
  • 打赏
  • 举报
回复
自己写更新方法,反正条件都摆着,最多自己添几列主键隐藏列

110,537

社区成员

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

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

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