0

使用 linq 插入数据时出现此错误。在这个我有一个表,它有两列,一列是标识列,另一列是可为空的选框 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但随后您已传递existingInsertOnSubmit函数中。我不知道它existing是从哪里来的,因为它不在代码中,但也许那是空的,这就是你收到这个错误的原因?

您说您编辑了代码,但问题仍然存在于您显示的内容中:在“else”部分中,existing 为空,因此当您将其传递给 InsertOnSubmit 时,它可能会引发错误。当它为空时,InsertOnSubmit 将抛出那个确切的错误。你希望那条线context.Marquees.InsertOnSubmit(newMarquee);改为。

于 2012-05-07T19:24:52.437 回答