无法使用新列更新表适配器上的查询

时间:2011-01-27 07:56:40

标签: c# .net sql tableadapter

我正在开发一个带有一些强类型SQL表适配器的项目,我对此并不熟悉。我通过设计器添加了一个新列,但之前存在的Query(基本提取)不会看到新列。经过深思熟虑后,我终于通过执行以下操作“查看”查询构建器中的新列:

1)右键点击查询,选择“配置”

2)点击“上一步”按钮,直到系统提示我选择数据库连接字符串 我不得不将其更改为包含新列

的开发数据库

3)使用“下一步”按钮继续完成向导,不做任何其他更改。

应该注意的是,即使我已经通过设计人员手动添加了列,这些步骤也是必需的。

一旦我这样做,设计师桌子上附带的查询可以“看到”新列就好了。我们将这个更新的表称为FirstTable。

但是,我遇到了来自另一个表的另一个预先存在的查询的问题,该表与FirstTable进行了连接。另一张表我称之为SecondTable。

我右键单击SecondTable,选择'configure',然后点击向导中的'previous',这样我就可以选择正确的连接字符串了。完成了向导,可能是使用这个新连接字符串重新设计了SecondTable(此表没有实际更改)。

但是,将SecondTable连接到FirstTable的Query无法从FirstTable中看到新列。

我的最后一次尝试是删除已在这两个表之间映射的“关系”,然后重新创建它。我认为这将允许SecondTable在FirstTable中查看新列,因此可以在连接中使用它。

目前,我得到'无效列名'错误,无论我是否直接修改SELECT语句,或使用查询生成器(查询生成器根本看不到新列,也不会让我手动添加它)。我 完全限定了表名(例如dbo.TableName.ColumnName)

几个小时以来,我一直在抨击我。有人有任何提示吗?

编辑:我在查询构建器中重新添加了FirstTable,以查看它是否会刷新可用的列数据。没有运气 - 它仍然停留在旧的列名称上。

1 个答案:

答案 0 :(得分:1)

我仍然不明白上面问题的根源是什么,但我找到了解决方法。在我的更新中,我提到在“查询”构建器中删除并重新添加联接表不会更新列名。但是,如果我创建了一个品牌 new 查询,然后在查询构建器中添加了联接表...那么poof,新列就在那里。如果有人知道一个更好的方法来做到这一点,我仍然是所有的耳朵(这需要根据前面创建一个新的查询,命名为一个欺骗名称,删除旧的,将新的重命名为原始名称...真是一团糟。