Ler vários result sets de um único procedure em C#
19/09/2012
0
Tenho um stored procedure no banco de dados SQL Server 2012 que retorna mais de um select, ou seja, vários result sets.
Como faço para obter todos esse resultados via C#? Acho que preenchendo um DataTable não dá certo, pois não se trata apenas de uma tabela, mas várias.
Grata.
Rachel Andrade
Posts
21/09/2012
Edson Oliveira
SqlConnection oSqlConnection = new SqlConnection(connectionString); oSqlConnection.Open(); SqlDataAdapter oSqlDataAdapter = new SqlDataAdapter("EXEC SUA_PROCEDURE", oSqlConnection); DataSet oDataSet = new DataSet(); oSqlDataAdapter.Fill(oDataSet); oSqlConnection.Close(); oDataSet.Tables[0];//Result 1 oDataSet.Tables[1];//Result 2
O seu resultado preencher a coleção de Tables dentro do DataSet.
26/09/2012
Rachel Andrade
Realmente eu consegui fazer da forma como você sugeriu, mas fiquei com uma dúvida: tem como as tabelas receberem nomes vindos direto do Stored Procedure. Por exemplo, suponha que meu procedimento faça select nas tabelas A, B e C. Ao preencher o DataSet, as tabelas poderiam ter os nomes A, B e C?
Grata.
27/09/2012
Edson Oliveira
Até mais
Clique aqui para fazer login e interagir na Comunidade :)