C# Sql Server usunięcie rekordu z bazy

mam taki oto kod

SqlCommand usun = new SqlCommand("DELETE FROM sciezki WHERE(plik LIKE '" + listBox1.SelectedItem.ToString() + "' )LIMIT 1", polaczenie);

Pytanko: dlaczego próba wykonania zapytania kończy się: wyświetleniem Incorrect syntax near LIMIT :?:

"DELETE FROM sciezki WHERE plik LIKE '" + listBox1.SelectedItem.ToString() + "' LIMIT 1"

to samo. . . :frowning:

aha, przecież to delete, chyba nie liczne SQL serwery obsługują klauzule limit przy delete.

:confused: zależy mi tylko na tym aby usunąć tylko jeden rekord spełniający kryterium, jeżeli nie LIMIT to jest może jakiś inny sposób :?: :?

SqlCommand usun = new SqlCommand("DELETE TOP(1) FROM sciezki WHERE plik LIKE '" + listBox1.SelectedItem.ToString() + "'", polaczenie);

A jeśli to nie zadziała, to możesz spróbować tak (jest notabene poprawniej):

DELETE FROM sciezki WHERE id IN (SELECT TOP 1 id FROM sciezki WHERE plik LIKE '...')

działa ślicznie wielkie dzienx :wink: