Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法将值NULL插入列';用户ID';,桌子_C#_Asp.net_Sql - Fatal编程技术网

C# 无法将值NULL插入列';用户ID';,桌子

C# 无法将值NULL插入列';用户ID';,桌子,c#,asp.net,sql,C#,Asp.net,Sql,我在尝试插入用户在我的UPDATE SQL语句下编辑的注释时遇到此错误。由于我的UserId是唯一标识符,我真的不知道如何解决这个错误 错误显示: Cannot insert the value NULL into column 'UserId', table My.cs代码是: int CommentID = int.Parse(ListView1.DataKeys[e.ItemIndex].Value.ToString()); ListViewItem item = ListV

我在尝试插入用户在我的UPDATE SQL语句下编辑的注释时遇到此错误。由于我的UserId是唯一标识符,我真的不知道如何解决这个错误

错误显示:

Cannot insert the value NULL into column 'UserId', table 
My.cs代码是:

 int CommentID = int.Parse(ListView1.DataKeys[e.ItemIndex].Value.ToString());
    ListViewItem item = ListView1.Items[e.ItemIndex];
    TextBox Title = (TextBox)item.FindControl("Title");
    TextBox commentContent = (TextBox)item.FindControl("commentContent");

    string connectionString = ConfigurationManager.ConnectionStrings["ASPNETDBConnectionString1"].ConnectionString;
    using (SqlConnection conn = new SqlConnection(connectionString))
    {
        string sql = "Update Comments set Title = @Title, commentContent=@commentContent where CommentID = @CommentID";
        using (SqlCommand cmd = new SqlCommand(sql, conn))
        {
            cmd.Parameters.AddWithValue("@Title", TextBox1.Text.Trim());
            cmd.Parameters.AddWithValue("@commentContent", TextBox2.Text.Trim());
            cmd.Parameters.AddWithValue("@CommentID", CommentID);
            conn.Open();
            cmd.ExecuteNonQuery();
            conn.Close();
        }
    }

我认为表中的UserID列具有NOT NULL约束。请检查表架构。

我认为UserID是您的外键,您必须定义一个外键


注释包含UserId作为外键,您必须设置UserId,因为Key不能为null

在我看来,UserId有一个notnull约束。请检查您的数据库。

您确定发布了正确的代码吗?它显示一条Update语句,消息会抱怨插入。表上有触发器吗?我怀疑您在comments表上有触发器,这是导致此问题的原因。我猜comments表上有一个UserID列,它允许空值(并且至少有一个空值),而触发器插入的表的UserID列上有一个NOTNULL定义。是的,我的UserID不是空的。因为它是我评论表中的外键。