0

linqを使用してデータを挿入しているときにこのエラーが発生します。これには、2つの列を持つテーブルがあります。1つはID列で、もう1つはnull許容型のマーキーtxtです。解決策を提供してください。私のコードはここにあります。

   protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
            Marquee existing = context.Marquees.FirstOrDefault();
            if (existing != null)
            {
                 existing.marquee1 = txtMarquee.Text;
                 context.SubmitChanges();
                 lblmsg.Text = "Data Saved Successfully";
                 generalFunction.goGreen(lblmsg);
            }
            else
            {
                Marquee newMarquee = new Marquee();
                 newMarquee.marquee1 = txtMarquee.Text;
                context.Marquees.InsertOnSubmit(existing);
                context.SubmitChanges();
                lblmsg.Text = "Data Saved Successfully";
                generalFunction.goGreen(lblmsg);
            }
        }
        catch (Exception ee)
        {
            lblmsg.Text = "Error: " + ee.Message;
        }
    }
4

1 に答える 1

1

あなたは本当にもっと情報を提供する必要があります。情報が不足しているためわかりにくいですが、作成した後、関数にnewMarquee渡しexistingましたInsertOnSubmitexistingコードに含まれていないため、どこから来たのかわかりませんが、おそらくそれはnullであり、それがこのエラーが発生する理由ですか?

コードを編集したと言いますが、表示されているものにはまだ問題があります。「else」セクションでは、既存が null であるため、InsertOnSubmit に渡すと、おそらくエラーがスローされます。InsertOnSubmit は、それが null の場合に正確なエラーをスローします。context.Marquees.InsertOnSubmit(newMarquee);代わりにその行が必要です。

于 2012-05-07T19:24:52.437 に答える