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

APRENDA A PROGRAMAR DO ZERO AO PROFISSIONAL

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