2012-08-02 66 views
1

當我嘗試插入在我的UPDATE SQL語句下編輯的註釋用戶時遇到此錯誤。由於我的UserId是唯一的標識符,我不知道如何解決這個錯誤。無法將值NULL插入到'UserId'列中,表

錯誤顯示:

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, [email protected] 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(); 
     } 
    } 
+5

你確定你發佈了正確的代碼嗎?它顯示一條Update語句,並且該消息抱怨插入。桌子上的任何觸發器? – 2012-08-02 08:41:06

+1

我懷疑你在評論表上有一個觸發器造成這種情況。我猜你在註釋表上有一個UserID列允許NULLS(並且至少有一個NULL值),而觸發器插入的表在它的UserID列上有一個NOT NULL定義。 – Bridge 2012-08-02 08:43:40

回答

1

我認爲在表中的用戶ID列有NOT NULL constraint.Check你的表模式。

+1

是的,我的用戶ID不爲空。因爲它是我評論表中的外鍵。 – kelly 2012-08-02 08:42:22

0

我認爲UserID是外鍵,你必須定義一個外鍵

評論中包含用戶ID作爲外鍵,你必須設置用戶ID,因爲關鍵不能爲空

1

在我看來, ,UserID具有非空約束。檢查你的數據庫。

相關問題