0

我有两张桌子:A 和 B。

表 A

身份证 | 数字
1 | 2
2 | 5
3 | 1

表 B

身份证 | 姓名
2 | X
5 | 是
1 | Z

当我从数据库中获取信息时,我会填充一个 DataSet。但是,我在 A.Number = B.Name 上使用 JOIN。因此导致:

结果

身份证 | 号码 | 姓名
1 | 2 | X
2 | 5 | 是
3 | 1 | Z

我有一个 DataGridView 显示Result,但只有IdName列。

一件事困扰着我。我想更改DataGridView 中的Result .Name值,但我希望用B .Name值的相应A .Number值更新表 A。表 A没有名称列。

所以我想得到这样的东西:

表 A 之前

身份证 | 数字
1 | 2

数字2 符合“X”名称值。

在 DataGridView 中更改“Y”的名称,符合“5”...

表 A 后

身份证 | 数字
1 | 5
4

3 回答 3

0

不要使用加入。

您希望将表 A 显示为具有 Number 查找列的主体。

您需要 A 和 B 之间的关系以及在 A 上具有Expression属性的 DataColumn

于 2012-04-06T08:20:38.907 回答
0

我假设Id在两个表中都是一个 PK。通过更改B表中“X”的名称,您可以更改NameId=2 关联的值。如果要更改Id表中 =1 的关联值,A则需要将其Number值更改为 5,而不是其Name本身。

你问的实际上是这样的:“Number如果它存在于表中,我想根据名称(不是唯一的)自动更改为其他名称B”。这对我来说很荒谬。例如,将什么值更改为不在列表中的项目?

您需要的是某种A带有 DropDown 的 Table 列表,用于Number填充 Table 中的值B。然后用户将从预定义的列表中选择值,并A使用正确的更新表Id

于 2012-04-06T09:28:02.323 回答
0

我会将Result.Name列更改为 a DataGridViewComboBoxColumn,将表 B 连接到它,并在将其发送回数据库进行存储之前在客户端引用组合的值。

以下是其他列类型DataGridView

  • DataGridViewTextBoxColumn
  • DataGridViewCheckBoxColumn
  • DataGridViewImageColumn
  • DataGridViewButtonColumn
  • DataGridViewLinkColumn
  • 自定义:继承自DataGridViewColumn
于 2012-04-06T09:40:50.390 回答