【问题标题】:Using SQL Server Database View for populating DataGridView and modifying data in DB使用 SQL Server 数据库视图填充 DataGridView 和修改 DB 中的数据
【发布时间】:2010-07-17 05:22:55
【问题描述】:

使用 SQL Server 数据库视图填充 DataGridView 和修改 DB 中的数据

I want to know that how this will be done and if this is not a good solution, then please elaborate if any other good solution is possible.


1) 最初我想使用Database View 填充不同的DataGridViews

2) 每个DataGridView 的数据检索都需要Multiple joins from multiple tables

3) 这些DataGridViews 中的值随后填充到Controls(即文本框/组合框)中(有关参考,请参阅此链接中的图像:link text)。

4) 当用户更改Controls 中的值并单击Save 时,之前从DataGridView(通过View)检索到的数据将在Database 中更新。


注意:我正在开发 C-Sharp Windows 应用程序并使用 SQL Server 2005。

【问题讨论】:

  • 对我的上述问题有任何答案吗?我仍在等待最早的答复。

标签: c# database winforms


【解决方案1】:

1)我不确定如何将控件直接绑定到视图,但您可以编辑数据集(假设您在数据源下使用设计器右键单击数据集并单击“在设计器中编辑数据集”,在那里,您可以右键单击并添加一个表格适配器,您可以随意填充它(例如

   SELECT * FROM [YourView] 

或者,您可以只使用存储过程或在此处键入 SQL 来填充表适配器。

将表适配器添加到数据集后,您可以将 DataGrid 绑定到该表适配器,就像绑定常规表一样。

我知道这可能是您现在正在寻找的东西,但事实是我在寻找一种或多或少相同的方法时遇到了您的问题。

2) 您的表适配器可以使用 SQL 语句或存储过程基于许多表。

3) 为什么不直接使用它们的数据源属性绑定这些控件?

4) 如果控件本身是绑定的,那么您可以通过控件更改数据并查看数据网格中的更改,您只需“刷新”(调用它的 databind() 方法)即可查看更新的数据。

【讨论】:

  • 如果您尝试在代码中绑定它,我认为这与使用表格没有什么不同(只需在命令文本中使用视图代替表格)。
  • 非常感谢杰克。我正在按照您所说的类似方式进行操作。它确实解决了我的问题,除了控件填充由单个 GridView 的选定行的位置/索引完成,然后收集相对列的单元格值并填充到相关控件。再次感谢。问题已解决。
  • @MuzaffarAliRana 如果它解决了您的问题,您应该将此答案标记为已接受。使用该答案投票计数器旁边的标记来接受答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-06
  • 1970-01-01
相关资源
最近更新 更多