ado.net . Wyjątek w trakcie dodawania danych

0

Witam jestem świeży w technologii ado.net i c# więc generalnie proszę o wyrozumiałość .
A więc zacznę od tego że stworzyłem tabelę sprzedaz w MS SQL z kluczem głównym . Wszystko ładnie pięknie się dodaje do innych tabel ,
natomiast w jednym moim module który ma za zadanie dodawać dane do tabeli spzedaz za pomocą ado.net zostaje wygenerowany wyjątek o poniższej treści (dodam obrazek bo nie chce mi się przepisywać :P )
wyjatek.png
i trochę kodu dla lepszej orientacji

 
 sprzedaz sprz = new sprzedaz();
                    
                    sprz.idadmin = auth.getIdAdmin();
                    sprz.brutto = Decimal.Parse(this.label24.Text);
                    sprz.data_sprze = dateTimePicker2.Value;
                    sprz.data_wyst = dateTimePicker1.Value;
                    sprz.firma = this.textBox1.Text;
                    sprz.imie = this.textBox2.Text;
                    sprz.adres = this.textBox3.Text;
                    sprz.nip = this.textBox4.Text;
                    sprz.nr_fak = textBox7.Text;
                    sprz.forma_plat = comboBox3.SelectedText;
                    sprz.miejsce = textBox6.Text;
                   
                   
                    switch (comboBox3.SelectedIndex)
                    {

                        case 0:
                            sprz.termin = dateTimePicker1.Text;
                            break;
                        case 1:
                            sprz.termin = comboBox3.SelectedText;
                            break;
                        case 2:
                            sprz.termin = comboBox3.SelectedText;
                            break;
                        case 3:
                            DateTime date = DateTime.Now.AddDays(7);
                            sprz.termin = date.ToString();
                            break;
                        case 4:
                            DateTime date1 = DateTime.Now.AddDays(7);
                            sprz.termin = date1.ToString();
                            break;
                        case 5:
                            DateTime date2 = DateTime.Now.AddDays(14);
                            sprz.termin = date2.ToString();
                            break;
                        case 6:
                            DateTime date3 = DateTime.Now.AddDays(21);
                            sprz.termin = date3.ToString();
                            break;
                        case 7:
                            DateTime date4 = DateTime.Now.AddDays(30);
                            sprz.termin = date4.ToString();
                            break;
                        case 8:

                            sprz.termin = "inne";
                            break;
                        default:
                            sprz.termin = "";
                            break;




                    }



                    #region Obliczanie ceny netto na wydruk
                    var query = from m in anty.magazyn where id.Contains(m.idmagazyn) select m;

                    decimal netto = new decimal(0);
                    foreach (magazyn mag in query.ToList())
                    {
                        netto += (decimal)(Convert.ToDouble(mag.cena) - Convert.ToDouble(mag.cena) * (Convert.ToDouble(mag.vat) / Convert.ToDouble(100)));
                    }


                    netto = Decimal.Round(netto, 2);
                    #endregion


                    sprz.netto = netto;

                    sprz.status = 0;
                    sprz.rodzaj_fak = comboBox1.SelectedText;
                    
                    
                    this.anty.sprzedaz.Add(sprz);
                    this.anty.SaveChanges();

dodam że tabela posiada relacje natomiast , wyjątek wskazuje na to że jest to relacja z tabelą magazyn co jest totalną nieprawdą .

1
lukasz7221 napisał(a):

dodam że tabela posiada relacje natomiast , wyjątek wskazuje na to że jest to relacja z tabelą magazyn co jest totalną nieprawdą .

  1. Tabela jest relacją. Każda tabela w każdej relacyjnej bazie danych jest relacją, stąd się zresztą wzięła nazwa "relacyjne bazy danych". (klik)
  2. Wyjątek nie mówi absolutnie nic o tabeli magazyn. Po prostu masz zainstalowane spolszczenie do .NET Frameworka, więc widzisz idiotyczne i mylące komunikaty błędów.

Twój wyjątek w oryginale brzmi: A dependent property in a ReferentialConstraint is mapped to a store-generated column.. Zapewne masz błędnie zdefiniowane powiązanie między kolumnami dwóch tabel, np. klucz główny jednej tabeli powiązałeś z kluczem głównym drugiej, i próbujesz ustawić w ten sposób automatycznie generowaną wartość, co jest oczywiście niemożliwe.

0

kurcze ale wtopa pomyliłem się w relacji ,dałem relację na inną kolumnę . Ps i faktycznie to tłumaczenie mnie zmyliło . Dzięki

1 użytkowników online, w tym zalogowanych: 0, gości: 1