【发布时间】:2012-08-02 08:36:19
【问题描述】:
尝试插入在我的 UPDATE SQL 语句下编辑的 cmets 用户时遇到此错误。由于我的 UserId 是一个 uniqueIdentifier,我真的不知道如何解决这个错误。
错误显示:
Cannot insert the value NULL into column 'UserId', table
我的 .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();
}
}
【问题讨论】:
-
您确定您发布了正确的代码吗?它显示一条更新语句,并且消息抱怨插入。桌上有什么触发器吗?
-
我怀疑你在 cmets 表上有一个触发器,导致了这种情况。我猜你在 cmets 表上有一个 UserID 列,它允许 NULLS(并且至少有一个 NULL 值),而触发器插入的表在它的 UserID 列上有一个 NOT NULL 定义。