Skinny site

... un modo di esprimersi

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home Code Snippets C# Chiamata alle stored procedures

Chiamata alle stored procedures

E-mail Stampa PDF
Valutazione attuale: / 0
ScarsoOttimo 

Se si è connessi ad un database che consente il ritorno di un resultset da una stored procedure come MSSQL Server, allora è possibile utilizzare l'oggetto Command di ADO.net per ricevere dati dalle stored procedure. La proprietà CommandType che accetta questi enumerati:, specifica al comando il tipo di richiesta che si sta per fare per impostazione predefinita è impostato su "Text". La proprietà CommandText si occupa di prendere il nome della procedura. Infine attraverso la collezione "Parameters" si imposteranno tutti i parametri necessari alla procedura. Un esempio è qui sotto:


//Nel frammento sottostante si vede come recuperare i dati dal Datareader, va 
//notato che la prima istruzione che deve essere eseguita è la chiamata al
//metodo Read() dell'oggetto Datareader, questo perchè dopo la creazione
//dell'oggetto il suo puntatore non è posizionato sulla prima riga. Il metodo
//ritorna un booleano che indica se vi sono ulteriori righe oltre quella
//corrente. Benchè il frammento di codice sia funzionante è possibile fare
//meglio osservando il codice successivo.
...
SqlCommand cmd = cn.SqlCommand();
cmd.CommandText = "GetInfo";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@ID", SqlDbType.VarChar, 5);
cmd.Parameters[0].Value = "Test";

SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
Console.WriteLine(dr["CompanyName"]);
else
Console.WriteLine("No customer found");

dr.Close();
cn.Close();

//Anche se il codice sovrastante e corretto c'è anche chi preferisce per ragioni
//di portatilità e di attinenza agli standard utilizzare questa sintassi:
...
SqlDataAdapter cmd = new SqlDataAdapter();
cmd.CommandText = "{CALL GetInfo(?)}";
cmd.CommandType = CommandType.Text;

Ultimo aggiornamento Giovedì 03 Settembre 2009 10:14  

Google Analytics Tracking Module