gpt4 book ai didi

c# - 强制约束问题

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

dsrm_usersTableAdapters.rm_usersIPTableAdapter _tuser = new dsrm_usersTableAdapters.rm_usersIPTableAdapter();

dsrm_users _dsuser = new dsrm_users();
_dsuser.EnforceConstraints = false;

dsrm_users.rm_usersIPDataTable _muser = _dsuser.rm_usersIP;
_tuser.FillBy(_muser, _IP);

很好的作品;

但是,当我使用 ObjectDataSource 并使用 GetData() 方法连接到 GridView 时,出现错误;

无法启用约束。一行或多行包含违反非空、唯一或外键约束的值错误;

我转到数据集并在属性窗口中设置 EnforceConstraints=false,然后再次尝试给出相同的错误。所以 EnforceConstraints=false 不适用于 GetDATA();

那我现在能做什么呢?如何使用 GetData() 来使用 ObjectDataSource 而不会出现此错误。

最佳答案

我会首先尝试确定您的约束失败的原因。

您可以通过以下方式确定

_dsuser.EnforceConstraints = false;
//fill info
try
{
_dsuser.EnforceConstraints = true;
}
catch
{
if (ds.HasErrors)
{
DataRow[] drs = _dsuser.[datatablename].GetErrors();
foreach(DataRow dr in drs)
{
foreach(DataColumn dc in dr.GetColumnsInError())
{
Console.Write(dr.GetColumnError(dc));
}
}
}
}

这会将数据表中的任何错误打印到控制台

如果您不知道表名,也可以使用 ds.tables 遍历表。

关于c# - 强制约束问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1170318/

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