3

使用此代码我没有错误

   public static void kirisekle(string kirisadi, int genislik, int derinlik, int uzunluk, int katid)
    {
        Beam newbeam = new Beam { Kirisadi = kirisadi, Genişlik = genislik, Derinlik = derinlik, Uzunluk = uzunluk, KatID = katid };
        using (pehkEntities context = new pehkEntities())
        {

            context.Beams.Add(newbeam);
            context.SaveChanges();
        }
    }

但是,使用此代码时出现“dbupdateexception 未处理”错误

public static void dosemeekle(string dosemeadi, int en, int boy, int kalinlik, int katid)
    {
        Slab newslab = new Slab { DosemeAdi = dosemeadi, En = en, Boy = boy, Kalınlık = kalinlik, KatID = katid };
        using (pehkEntities context = new pehkEntities())
        {

            context.Slabs.Add(newslab);
            context.SaveChanges();
        }
    }

我应该如何找到这个错误的原因并修复它?

我正在使用这段代码来查看内部异常:

context.Slabs.Add(newslab);
        try
        {
            context.SaveChanges();
        }
        catch( System.Data.Entity.Infrastructure.DbUpdateException ex)
        {
            MessageBox.Show(ex.InnerException.Message);

        }

但是,它显示一个消息框说“更新条目时发生错误。有关详细信息,请参阅内部异常。” 只要。

4

1 回答 1

10

尝试查看 SQL 中的表定义:

  • 代码中是否提供了所有非空字段?

  • 发生异常时超出字符串长度

  • 您是否使用数据库中已经存在的主键?

如果没有连接问题,这些很可能是异常的原因。我假设是这样,因为第一种方法有效。

于 2012-10-07T20:37:46.903 回答