AWWW-1st3.6-w09.tresc-1.0-Slajd23
Parametryzacja poleceń SQL w ADO.NET
Bezpiecznym sposobem parametryzacji poleceń SQL, chroniącym przed techniką ataku SQL injection, jest w ADO.NET wykorzystanie obiektów Parameter związanych z obiektem Command.
Na slajdzie pokazano przykład wykonania sparametryzowanego polecenia UPDATE podwyższającego pensję wskazanemu pracownikowi. Parametry to kwota podwyżki i nazwisko pracownika. Kolejne kroki przykładowego fragmentu kodu to:
1. Utworzenie obiektu SqlCommand w kontekście wskazanego połączenia. Parametry w treści polecenia SQL zagnieżdżone są za pomocą notacji „@nazwa_parametru”.
2. Utworzenie obiektu SqlParameter dla parametru @p_podwyzka typu Decimal.
3. Przypisanie wartości parametrowi @p_podwyzka.
4. Utworzenie obiektu SqlParameter dla parametru @p_nazwisko typu VarChar.
5. Przypisanie wartości parametrowi @p_nazwisko.
6. Związanie obiektów parametrów z obiektem polecenia.
7. Wykonanie polecenia SQL.
Do wskazania typu danych dla parametru służą wartości typu wyliczeniowego SqlDbType dla systemu SQLServer, a DbType dla pozostałych. Jeśli parametr ma przyjąć wartość NULL, należy mu przypisać DBNull. Przed wykonaniem sparametryzowanego polecenia, należy związać z poleceniem obiekty Parameter dla wszystkich parametrów.