0

我正在使用一些我完全不熟悉的强类型 SQL 表适配器进行项目。我通过设计器添加了一个新列,但以前存在的查询(基本提取)不会看到新列。经过一番折腾,我终于通过以下方式“看到”了查询构建器中的新列:

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

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

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

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

一旦我这样做了,附加到设计器中的表的查询就可以很好地“看到”新列。我们将把这个更新的表称为 FirstTable。

但是,我遇到了另一个来自另一个表的预先存在的查询的问题,该表与 FirstTable 进行了联接。这另一个表我将调用 SecondTable。

我右键单击 SecondTable,选择“配置”,然后在向导中点击“上一个”,这样我就可以选择正确的连接字符串。完成了向导,大概是用这个新的连接字符串重新设计了 SecondTable(这个表没有实际的变化)。

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

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

目前,无论我是直接修改 SELECT 语句还是使用查询生成器(查询生成器根本看不到新列,并且不会让我添加它),我都会收到“无效的列名”错误手动)。而且我确实完全限定了表名(例如 dbo.TableName.ColumnName)

几个小时以来,我一直在努力解决这个问题。有人有任何提示吗?

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

4

1 回答 1

1

我仍然不明白上述问题的根源是什么,但我找到了解决方法。在我的更新中,我提到在查询构建器中删除和重新添加连接表并没有更新列名。但是,如果我创建了一个全新的查询,然后在查询构建器中添加了连接表......然后噗,新列就在那里。如果有人知道更好的方法来做到这一点,我仍然全神贯注(这需要在以前的基础上创建一个新的查询,将其命名为欺骗名称,删除旧的,将新的重命名为原始名称......真是一团糟)。

于 2011-01-27T09:07:48.060 回答