C# 无法将值NULL插入列';用户ID';,桌子
我在尝试插入用户在我的UPDATE SQL语句下编辑的注释时遇到此错误。由于我的UserId是唯一标识符,我真的不知道如何解决这个错误 错误显示: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
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不是空的。因为它是我评论表中的外键。