ASP.NET 数据集 getdataby 未能启用约束.一行或多行包含违反非空值、唯一或外键约束的值

本文关键字:约束 空值 包含违 唯一 一行 getdataby 数据集 NET 启用 ASP | 更新日期: 2023-09-27 17:56:36

hi我有一个非常简单的网络表单我在这个表单上有一个按钮和一个网格视图,以及一个包含链接表账单、案卷、docket_bill等的数据集。

在按钮单击时,我使用以下代码

  protected void button_click(object sender, EventArgs e)
{
billTableAdapter Billta = new billTableAdapter();
gridview1.datasource = Billta.getTop20Bills();
gridview1.databind()'
}

现在,当我单击该按钮时,出现以下错误

"无法启用约束。一个或 更多行包含违反的值 非空键、唯一键或外键 约束"

但是,当我将代码更改为

 protected void button_click(object sender, EventArgs e)
    {
    billTableAdapter Billta = new billTableAdapter();
    gridview1.datasource = Billta.getdata();
    gridview1.databind()'
    }

billTa.getData() 从数据集中获取所有行并显示在网格视图中。 但是当我添加一个查询并只选择几列时,它会给我上述错误。

知道这里出了什么问题吗?


SQL Scripts for getdata() = select * from bill

SQL script for getTop20Bills = select top 20 bill_id, bill_amount from bill

ASP.NET 数据集 getdataby 未能启用约束.一行或多行包含违反非空值、唯一或外键约束的值

我猜你的billTableAdapter中有两列以上。在getTop20Bills()中,您只选择所需的两列。您必须将缺少的列添加到第二个脚本中。或者,您可以创建新的表适配器,其中仅包含这两列,并将网格视图绑定到新适配器