【发布时间】:2013-01-05 11:46:57
【问题描述】:
我有一个包含以下列的表格
EndDate DateTime AllowNulls
IsApproved Bit AllowNulls
当我向我的表发送选择查询时,这两列会产生错误。
假设这是我的选择查询。
SELECT S.Name, S.Surname,
CASE
WHEN S.EndDate IS NOT NULL AND S.IsApproved = 1 THEN 'Left'
WHEN S.EndDate IS NOT NULL AND S.IsApproved = 0 THEN 'Waiting'
WHEN S.EndDate IS NULL AND S.IsApproved IS NULL THEN 'Joined'
ELSE ''
END AS Durumu
FROM STUDENT S
我收到的错误: 无法启用约束。一行或多行包含违反非空、唯一或外键约束的值
我的问题是如何正确选择这些空列?
附:此错误与返回具有相同主键的相同查询无关,因为我的表中只有一个条目:)
【问题讨论】:
-
我假设您正在使用强类型数据集来获取数据,对吗?此错误不是来自您的数据库,而是来自您的数据集。您可以通过这种方式检查导致异常的原因:在填充
DataTable/DataSet之前设置一个断点。在调试器的快速监视窗口中执行它。执行DataTable.GetErrors获取所有设置了RowError的行。然后查看一行或多行的此属性以查看实际问题。也许你只需要通过配置窗口刷新表格。