【发布时间】:2011-01-27 17:07:48
【问题描述】:
我正在开发一个包含一些强类型 SQL 表适配器的项目,但我对此一无所知。我通过设计器添加了一个新列,但以前存在的查询(基本提取)不会看到新列。经过一番折腾,我终于让它“看到”了查询构建器中的新列:
1) 右键单击查询,选择“配置”
2) 点击“上一个”按钮,直到系统提示我选择我的数据库连接字符串。
我不得不将其更改为包含新列的开发数据库
3) 使用“下一步”按钮继续完成向导,无需进行任何其他更改。
需要注意的是,即使我已经通过设计器手动添加了列,这些步骤也是必需的。
一旦我这样做了,在设计器中附加到表的查询就可以很好地“看到”新列。我们将此更新后的表称为 FirstTable。
但是,我遇到了来自 另一个 表的另一个预先存在的查询的问题,该查询与 FirstTable 进行了联接。我将把这张表称为 SecondTable。
我右键单击 SecondTable,选择“配置”,然后在向导中点击“上一个”,这样我就可以选择正确的连接字符串。完成了向导,大概是用这个新的连接字符串重新设计了 SecondTable(这个表没有实际的变化)。
但是,将 SecondTable 连接到 FirstTable 的 Query 无法看到 FirstTable 中的新列。
我最后一次尝试是删除在这两个表之间映射的“关系”,然后重新创建它。我认为这将允许 SecondTable 看到 FirstTable 中的新列,以便可以在联接中使用它。
目前,无论我是直接修改 SELECT 语句还是使用查询生成器(查询生成器根本看不到新列,并且不会让我手动添加)。我确实完全限定了表名(例如 dbo.TableName.ColumnName)
几个小时以来,我一直在努力解决这个问题。有人有什么建议吗?
编辑:我在查询构建器中重新添加了 FirstTable,以查看它是否会刷新可用的列数据。不走运 - 它仍然停留在旧的列名上。
【问题讨论】:
标签: c# .net sql tableadapter