2013-09-28 6 views
1

У меня есть таблица, и я хочу удалить все строки с определенным серийным номером. Есть несколько строк с одной и той же карты серийный .so я написал этот код, но он, кажется, что это не работает:Удаление нескольких строк из таблицы

try 
{ 
using (SqlConnection con = new SqlConnection(WF_AbsPres.Properties.Settings.Default.DbConnectionString)) 
{ 
    con.Open(); 
    SqlCommand command2 = new SqlCommand("DELETE FORM DevInOut where Cardserial='" + textBox5.Text + "'", con); 
    command2.ExecuteNonQuery(); 
    con.Close(); 
} 
} 
    catch (SqlException ex) 
{ 
} 

как может обеспечить все строки будут удалены. Должен ли я использовать процедуру? Как использовать процедуру?

ответ

4

Изменить FORM на FROM.

И, пожалуйста, всегда используйте parameterized queries. Этот тип конкатенаций строк открыт для SQL Injection атак.

using (SqlConnection con = new SqlConnection(WF_AbsPres.Properties.Settings.Default.DbConnectionString)) 
{ 
    con.Open(); 
    SqlCommand command2 = new SqlCommand("DELETE FROM DevInOut where [email protected]", con); 
    commdand2.Parameters.AddWithValue("@Cardserial", textBox5.Text); 
    command2.ExecuteNonQuery(); 
    con.Close(); 
} 

Подробнее от DELETE (Transact-SQL)

+0

О, Боже мой. Какая глупая ошибка. И спасибо за подсказку по параметризованному запросу. – saad

+0

@saad Вы вполне можете встретить ';)' –

Смежные вопросы