WPF i SQL, polecenie delete

0

Witam,
Mam problem podczas usuwania danych z bazy SQL, mam kod:

 
try
    {
SqlConnection myConection = new SqlConnection("user        id=userid;PWD=validpassword;server=localhost;Trusted_Connection=yes;database=Hotel_pod_lipami; connection timeout=30");
myConection.Open();

SqlCommand cmd = new SqlCommand("delete from Dane where nr_rej = '"+Nr_box.Text+"'");
cmd.ExecuteNonQuery();
myConection.Close();
Nr_box.Text = "";
    }
catch (Exception exc)
    {
MessageBox.Show("Nie udało się usunąć klienta.");
    }

I wywala mi Exception, połączenie jest dobrze zdefiniowane bo używam go nie pierwszy raz, commandy insert i reader działają bezproblemowo, więc dlaczego nie mogę użyć delete? Dodam jeszcze iż nr_rej jest zdefiniowany jako int w SQL i próbowałem też:

 SqlCommand cmd = new SqlCommand("delete from Dane where nr_rej = "+Nr_box.Text);

Efekt jest taki sam,

 Convert.ToInt32

też nic nie daje. Co powinienem zmienić ?

2

Na początek branżę :P

Następnym razem zamieść exception jaki ci wyskakuje.

O sql injection nie słyszał! - Poczyta.
O parametrach procedury nie słyszał! - Poczyta.

pomijam sprawdzenie czy to co w textbox jest int'em. Lepiej użyj numericUpDown. AddWithValue piszę z pamięci, ale chyba mniej wiecej tak to wygląda.

 
try
    {
using(SqlConnection myConection = new SqlConnection("user        id=userid;PWD=validpassword;server=localhost;Trusted_Connection=yes;database=Hotel_pod_lipami; connection timeout=30"))
{
myConection.Open();
 
SqlCommand cmd = new SqlCommand("delete from Dane where nr_rej = @nrRej");
cmd.Parameters.AddWithValue("@nrRej", int.Parse(Nr_box.Text));
cmd.ExecuteNonQuery();
myConection.Close();
}
Nr_box.Text = "";
    }
catch (Exception exc)
    {
MessageBox.Show("Nie udało się usunąć klienta.");
    }
1

Obiekt wyjątku niesie ze sobą pewne informacje. Zwykle są one na tyle ważne, że pozwalają łatwo namierzyć powód powstania wyjątku. Wystarczy przeczytać treść, zamiast ją ignorować na rzecz wyświetlenia jakiegoś niewiele mówiącego komunikatu. Zrób se panie MessageBox.Show("Nie udało się usunąć klienta. Błąd " + exc);

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