0

我第一次尝试使用带有连接和函数的查询在 VS2010 数据集设计器中创建数据集/表适配器;NVL()。通常,我只通过将单个数据库表从服务器资源管理器拖到设计器工作区来使用它们。在这种情况下,我右键单击并添加了一个 TableAdapter 并输入了以下查询:

SELECT a.primary_key, NVL(a.message, b.subject) as subject
FROM TableA a, TableB b
WHERE a.primary_key = b.primary_key (+) 
AND (a.time_stamp BETWEEN :time_start AND :time_end);

DataTable 是使用适当的列创建的。问题是,当尝试在 TableAdapter 上执行查询时,出现错误:

Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.

我在各个列的属性中没有看到任何异常。我错过了什么?

谢谢!

4

2 回答 2

2

很可能它是左外连接并且缺少 FROM 子句。

上次这些事情发生在我身上,当时没有为 b 返回任何行,但是太久以前了,我什至忘记了旧的连接语法......在查询分析器或 ssms 中运行查询并告诉我们:)

还有这个查询:

select count(1) from tableB where primary_key not in (select primary_key from tableA) 
于 2012-02-28T15:34:59.453 回答
0

请务必将DataSet级别的属性“EnforceConstraints”设置为“false”。

于 2012-02-28T14:47:18.450 回答