Ler vários result sets de um único procedure em C#
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.
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
Curtidas 0
Respostas
Edson Oliveira
19/09/2012
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.
GOSTEI 0
Rachel Andrade
19/09/2012
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.
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.
GOSTEI 0
Edson Oliveira
19/09/2012
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
Até mais
GOSTEI 0