Hvordan konvertere SQL-kommandoer

Inline SQL-kommandoer skrevet inn i koden på et nettsted kan bli omdannet til lagrede prosedyrer. Lagrede prosedyrer er raskere og er mindre sårbare for hackere. Konvertering SQL-kommandoer fra en nettside til en lagret prosedyre utføres ved hjelp av SQL Server Management Console og programmets kodefiler.

Bruksanvisning

1 Lag en lagret prosedyre. Det første trinnet i konverteringen skaper den lagrede prosedyren for utskifting. For eksempel, for dette eksempel, er det inline SQL nedenfor:
Velg first_name fra kunden hvor ID = <verdi>
Lag den lagrede prosedyren ved hjelp av følgende syntaks:
skape proc sel_Customer
(@ID Int) som
Velg first_name fra kunden hvor ID = @ ID

2 Tilsett navnerom til toppen av kodefil. Dette gjør at du kan ringe lagrede prosedyrer i koden. Følgende er syntaksen for å legge til SQL-navnerom.
bruker System.Data.OleDb;
bruker System.Data.SqlClient;

3 Instantiate kommandoen klassen som kaller den lagrede prosedyren. Den SQLCommand klassen er tilgjengelig fra Microsoft, så det kan kalles uten å legge noen komponenter. Følgende instantiates klassen og setter anropstype som en lagret prosedyre:
SqlCommand mySQL = ny SqlCommand (myDBConnection);
mySQL.CommandType = CommandType.StoredProcedure;

4 Tilsett ID parameter. Siden den lagrede prosedyren opprettet i trinn 1 krever "@ID" variable, må det legges til kommandoen før innhenting av data. Syntaksen under skaper verdi:
SqlParameter myVariable = mySQL.Parameters.Add ( "@ID", SqlDbType.Int, 10);
myVariable.Value = "1";

5 Åpne databasetilkoblingen og kaller den lagrede prosedyren. I dette eksempel blir dataene returnert til en SQLReader objekt. Objektet du bruker kan være den opprinnelige koden som brukes for inline SQL siden Recordsets er de samme. Følgende eksempel kjører den lagrede prosedyren og returnerer verdier i en SQLReader objekt:
myDBConnection.Open ();
SqlDataReader myRdr = mySQL.ExecuteReader ();

6 Vise den første navnet på kunden. Følgende syntaks skriver kundens fornavn til skjermen:
Console.WriteLine (myRdr [0] .ToString ())