填充数据表时无法启用约束

时间:2013-07-24 18:45:19

标签: c# sql-server datatable

我正在MSVS 2012中从C#中的XSD数据集加载数据表。标准GetData()方法正常运行。但是,我的自定义查询GetDataCustom()只返回数据集中的几个字段,会引发流行的异常:

  

无法启用约束。一行或多行包含值   违反非空,唯一或外键约束。

我在SOV上使用详细约束异常回复了类似的问题,其中显示了这个细节:

Error filling table
No Row Errors reported in DataTable=[datatable_Custom]

我在我的数据集上设置了EnforceConstraints = false,但仍然抛出异常。我已经在这个问题上查看了关于SOV的许多问题,但其他修复都没有帮助。我还能尝试什么?

编辑添加代码块:

ds_Sample dsSample = new ds_Sample();
dsSample.Clear();
dsSample.EnforceConstraints = false;
ds_SampleTableAdapters.ta_Sample taCustom = new ds_SampleTableAdapters.ta_Custom();
ds_Sample.dt_CustomDataTable dtCustom = taCustom.GetDataCustom();//throws exception

1 个答案:

答案 0 :(得分:1)

自己修正:表适配器包含数据集中的所有字段,但我的查询只有表适配器中的一些字段。我更改了表适配器以使用感兴趣的查询,问题得到了解决。

因此,约束违规很可能是NOT NULL字段中的空数据。