日期:2014-05-17  浏览次数:21118 次

求知识:未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值
protected void btnChange_Click(object sender, EventArgs e)
        {
            string jiumima = txtJiumima.Text;
            string xinmima = txtXinmima.Text;
            string xinmima2 = txtXinmima2.Text;
            
            if (xinmima != xinmima2)
            {
                labelError.Text = "两次密码输入不一致";
            }
            tb_UsersTableAdapter ta = new tb_UsersTableAdapter();
            int UsersId = Convert.ToInt32(Session["UsersId"]);
            var userTable = (社会信息.DAL.DataSetUsers.tb_UsersDataTable)ta.GetPasswordById(UsersId);
            ...
        }
------------------------------------------------
运行到ta.GetPasswordById(UsersId)的时候,出错,提示:未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。
GetPasswordById(UsersId)这个方法用到的sql语句为:
SELECT   Password
FROM      tb_Users
WHERE   (UsersId = @UsersId)
手工测试也通过,求大神赐教。

------解决方案--------------------
把userid一起取出来就行了。