我使用session来获取上一页的值。即UserId
然后尝试将此值传递给SQL的GetDataByUserId(@guidparam)
函数。然后将检索到的值传递给网格视图,如下所述。
错误:
无法启用约束。一行或多行包含违反非null,唯一或外键约束的值。
请帮我解决这个问题。
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
DSRolesTableAdapters.aspnet_RoleUsersTableAdapter userRoleAdapter = new DSRolesTableAdapters.aspnet_RoleUsersTableAdapter();
DataTable dt = new DataTable();
Guid user = Guid.NewGuid();
user = Guid.Parse(Session["UserId"] as string);
dt = userRoleAdapter.GetDataByUserId(user);//Error at this line
UserRolesGrdView.DataSource = dt;
UserRolesGrdView.DataBind();
}
}
答案 0 :(得分:0)
这对于一个通讯网来说有点长。
问题在于您Datatable
返回的userRoleAdapter.GetDataByUserId
,您已在其上定义了一些unique
或not null
约束,这些约束与您要检索的数据不兼容从数据库中,我的意思是在填充datatable
一些违反这些约束的数据时,程序会给出错误。删除DataTable上没有必需的非null和唯一约束(设置allow null=true
和is unique=false
),它将被修复。
注意:此外,数据表的number of fields
,length
和datatype
字段应与您尝试填充数据表的数据兼容用。