c#: Pobranie do DataSet wyniku procedury składowanej

19-gru-2013

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.

Komentarze są wyłączone

Autor: Rafał Kraik