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 )
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ą .