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();
        }
    }

ただし、このコードを使用しているときに「dbupdateexceptionwasunhandled」エラーが発生します

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でのテーブル定義を見てみてください。

  • すべての非nullフィールドがコードで提供されていますか?

  • 例外が発生したときに文字列の長さが超過した場合

  • データベースにすでに存在する主キーを使用していますか?

接続の問題がない場合、これらが例外の理由である可能性が最も高くなります。最初の方法が機能するので、私はそう思います。

于 2012-10-07T20:37:46.903 に答える