Kawałek kodu, który uruchomi procedurę składowana na SQL i pobierze zwróconą przez nią tabelkę:
SqlConnection sqlConnection = new SqlConnection(strConnectionString);
SqlCommand sqlCommand = new SqlCommand(„sys.xp_fixeddrives”);
sqlCommand.CommandType = CommandType.StoredProcedure;
sqlCommand.Connection = sqlConnection;
SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlCommand);
DataSet ds = new DataSet();
try
{
dataAdapter.Fill(ds, „drives”);
//do something – here loading data from table drives to list of strings
connElem.driveList = (from d in ds.Tables[„drives”].AsEnumerable() orderby d.Field<string>(„drive”) select d.Field<String>(„Name”)).ToList<string>();
}
catch (Exception ex)
{
//error handling
}
Wykorzystujemy stare poczciwe ADO.NET, ale w przypadku zapytań ad-hoc wykonywanych w aplikacji takie rozwiązanie dobrze się sprawuje.