1

UPDATE SQL ステートメントでユーザーが編集したコメントを挿入しようとすると、このエラーが発生します。私の 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();
        }
    }
4

3 に答える 3

1

テーブルの UserID 列に NOT NULL 制約があると思います。テーブル スキーマを確認してください。

于 2012-08-02T08:40:21.247 に答える
1

私には、UserID には null 以外の制約があるようです。そのためにデータベースをチェックインしてください。

于 2012-08-02T08:41:31.133 に答える
0

UserId は外部キーだと思います。外部キーを 1 つ定義する必要があります

コメントには UserId が外部キーとして含まれています。キーを null にすることはできないため、UserId を設定する必要があります

于 2012-08-02T08:40:47.890 に答える