ASP.NET数据集getdataBy无法启用约束。一行或多行包含违反非null,唯一或外键约束的值

时间:2011-05-16 07:37:01

标签: c# asp.net gridview dataset

喜 我有一个非常简单的网络表单 我在这个表单上有一个按钮和一个gridview,以及一个包含链接表bill,docket,docket_bill等的数据集。

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

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

现在当我点击按钮时,我收到以下错误

  

“无法启用约束。一个或   更多行包含违反的值   非null,唯一或外键   约束“

但是,当我将代码更改为

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

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

知道这里有什么问题吗?

SQL Scripts for getdata() = select * from bill

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

1 个答案:

答案 0 :(得分:3)

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