【问题标题】:DataTable constraint error when loading null value from NpgSQL从 NpgSQL 加载空值时出现 DataTable 约束错误
【发布时间】:2017-06-14 18:00:34
【问题描述】:

我有一个使用 NpgSQL 与 postgres 数据库通信的 C# 应用程序。但是,当我尝试使用包含 NULL 值的结果填充 DataTable 时,会引发错误:

"System.Data.ConstraintException: '未能启用约束。一行或多行包含违反非空、唯一或外键约束的值。'"

即使我做了类似的事情:

NpgsqlCommand statement = new NpgsqlCommand("SELECT NULL", connection);
NpgsqlDataReader resultReader = statement.ExecuteReader();
var table = new DataTable();
table.Load(resultReader);

在 Visual Studio 命令窗口中,table.GetErrors()[0]` 给出:

{System.Data.DataRow}
    HasErrors: true
    ItemArray: {object[1]}
    RowError: "Column '?column?' does not allow DBNull.Value."
    RowState: Unchanged
    Table: {}

这可能与this bug有关吗?

【问题讨论】:

    标签: c# postgresql datatable npgsql


    【解决方案1】:

    问题是由我们的项目使用旧版本的 NpgSQL (3.2.2) 引起的。从 3.2.3 版本开始,这个问题已经解决了。

    【讨论】:

      猜你喜欢
      • 2022-01-07
      • 1970-01-01
      • 2019-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多