2016-04-03 26 views
0

'dan bir satır seçerek çalışmaz Veritabanındaki bir Tabloya bağlı bir DataGridView'dan seçili satırı silmeye çalışıyorum. Aşağıdaki hata kodunu bildiriyor.SQL Delete Deyimi, bir dataGridView

enter image description here

nerede ben yanlış burada gidiyorum ile herhangi bir fikir?

Sil Düğme Kod

private void DeleteExtraBtn_Click(object sender, EventArgs e) 
{ 
    SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0; AttachDbFilename=C:\Users\Donald\Documents\Visual Studio 2013\Projects\DesktopApplication\DesktopApplication\Student_CB.mdf ;Integrated Security=True"); 
    con.Open(); 
    try 
    { 
     //Delete selected extra row  
     SqlCommand sda = new SqlCommand("Delete From Extra Where Extra_ID = @Extra_ID", con); 
     sda.Parameters.AddWithValue("@ExtraID", extraGridView.CurrentRow.Cells[0]); 
     sda.ExecuteNonQuery(); 

    } 
    catch(Exception ex) 
    { 
     MessageBox.Show(ex.Message); 
    } 


    con.Close(); 
    loadExtraTable(); 
} 

cevap

1

Ben her yerde komutu yürütmeden görmüyorum:

o bağlı olarak, kullanmak zorunda.

Ekle; Ayrıca, hücre nesnesine başvuruda bulunmuyorsunuz ve değerine bakmıyorsunuz demektir. Ayrıca,

private void DeleteExtraBtn_Click(object sender, EventArgs e) 
{ 
    SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0; AttachDbFilename=C:\Users\Donald\Documents\Visual Studio 2013\Projects\DesktopApplication\DesktopApplication\Student_CB.mdf ;Integrated Security=True"); 
    con.Open(); 
    try 
    { 
     //Delete selected extra row  
     SqlCommand sda = new SqlCommand("Delete From Extra Where Extra_ID = @ExtraID", con); 
     sda.Parameters.AddWithValue("@ExtraID", extraGridView.CurrentRow.Cells[0].Value); 
     sda.ExecuteNonQuery(); 
    } 
    catch(Exception ex) 
    { 
     MessageBox.Show(ex.Message); 
    } 


    con.Close(); 
    loadExtraTable(); 
} 
+0

Oh evet, özür dilerim. Yukarıdaki örneğe dahil etmedim. Ama hala bununla çalışmıyor. –

+1

İyi uygulama konuları için bağlantınızı ve komutları daha kolay temizleme sağlamak için blokları kullanarak sarmalısınız. Con'ın açıldığını kontrol ettin mi? Açmazsa, bir hata atmayacaktır. – Wobbles

+0

Yukarıdaki kod için eklediğim hatayı gösterme. –

-1

"ExtraId", bir metin, bir dizesi nedir?

SqlCommand sda = new SqlCommand("Delete From Extra Where Extra_ID = @" + Extra_ID.Text, con); 
+0

@ExtraID ve @Extra_ID şimdi onun gösteren hata kodu eklendi başvuru. –