Ler vários result sets de um único procedure em C#

19/09/2012

0

Olá, gente.

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

Rachel Andrade

Responder

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.
Responder

26/09/2012

Rachel Andrade

Oi, Edson. Muito obrigada pela ajuda e desculpe pela demora em responder.
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.
Responder

27/09/2012

Edson Oliveira

Eu fiz alguns testes aqui, e não achei nenhum jeito de retornar os nomes, vc vai ter que organizar as consultas na sua procedure para receber nas posições corretas no seu projeto.

Até mais
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar