gpt4 book ai didi

C# Sqlite 使用 DataTable 抛出 ConstraintException

转载 作者:太空宇宙 更新时间:2023-11-03 19:09:23 26 4
gpt4 key购买 nike

我正在使用 C#/Mono 访问 Sqlite 数据库。

以下查询在任何数据库应用程序中都能正常工作,但当我尝试加载结果时 DataTable 一直提示。

这是一个片段

    cmd.CommandText = @"SELECT 
sectors.name AS sector_name,
domains.name AS domain_name
FROM
sectors_domains
INNER JOIN domains ON (sectors_domains.domain = domains.id)
INNER JOIN sectors ON (sectors_domains.sector = sectors.id)";

using (var rdr = cmd.ExecuteReader())
{
using (DataTable dt = new DataTable())
{
dt.load(rdr)
}
}

这会引发错误:

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

被选择的字段(即,各自表中的两个 .name 字段)被限制为唯一和非空。

最佳答案

尝试不同的方法来加载数据。 (免责声明:我还没有尝试过)

DataTable dataTable;
cmd.CommandText = @"SELECT
sectors.name AS sector_name,
domains.name AS domain_name
FROM sectors_domains
INNER JOIN domains ON (sectors_domains.domain = domains.id)
INNER JOIN sectors ON (sectors_domains.sector = sectors.id)";


// Create data adapter
SQLiteDataAdapter da = new SQLiteDataAdapter(cmd);

// Populate dataTable based on DB query
da.Fill(dataTable);
da.Dispose();

关于C# Sqlite 使用 DataTable 抛出 ConstraintException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22061894/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com