Wpis z mikrobloga

#programowanie #naukaprogramowania #csharp #sql #visualstudio

chcę żeby w labelu wyciągnąć ilość danego produktu którego nazwa jest do wyboru w comboboxie który wyciągany jest z bazy danych w tabeli produkt w kolumnie nazwaProduktu, a ilość danego produktu jest w tabeli magazyn. Te 2 tabele powiązane są kluczem na idProdukt.

kod

kiedy odpalam program i wybieram w comboboxie dany produkt to wyskakuje mi błąd
"System.NullReferenceException: Odwołanie do obiektu nie zostało ustawione na wystapienie obiektu.
w magazyn.dodaj.comboBox1_selectedIndexChanged(object sender, EventArgs
e) w c:\user\mateusz\documents\visual studio 2015\projects\magaztn\magazyn\dodaj.cs:wiersz107"

a w wierszu 107 jest:

result1 = ((int)cmd.ExecuteScalar());

o co chodzi?
  • 7
@ZjedliMiRogale: @webtronic: ok już mam, pomogło to:
-zamiast combobox 1 w zapytaniu dałem tałem takie coś

var selectedItem = comboBox1.SelectedItem;
string Sql = "select p.cena from produkt p join magazyn m on p.idProdukt = m.idProduktu where p.nazwaProduktu ='" + selectedItem.ToString() +"'";

- zmieniłem konwertowanie

result1 = Convert.ToInt32(cmd.ExecuteScalar());
@cevilo co się czepiasz( ͡º ͜ʖ͡º) przecież dał #naukaprogramowania
U mnie ma dużego plusa za usingi(jeśli ich świadomie używa).

@ugotowany_kamien:
Nie wiem dlaczego widzę twoje pytanie po 6 godzinach ale chyba taki urok wykopu.
Pisząc zapytanie SQL przez łączenie stringów prosisz się o potężne kłopoty.
Poczytaj sobie o parametrach i "SQL injection"
Zmień te nazwy na jakieś bardziej znaczące.
Pomyśl co będzie jeśli nic nie znajdziesz