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;






