Retornando mais de uma tabela dentro de um DataSet usando o SqlDataAdapter
Olá pessoal, nesse artigo vou falar sobre uma funcionalidade bem simples, mas que além de ser uma boa prática, nos dá bastante ganho de performance, retornar dois DataTables de uma procedure dentro de um mesmo DataSet usando o SqlDataAdapter.
Vamos criar duas tabela em nosso banco de dados chamadas “tabela1” e “tabela2” e inserir alguns dados para teste. Conforme código abaixo:

Para começar vamos criar uma procedure em nosso banco de dados que execute o select nas duas tabelas com o seguinte código:

Agora vamos criar um novo WebSite e no code behind da nossa página Default.aspx vamos importar os dois namespaces System.Data e System.Data.SqlClient
![]()
Agora vamos criar uma function que nos retornará um DataSet com as duas Tabelas Selecionadas na nossa procedure

A Vantagem de se usar esse método. É que estamos executando apenas um comando SQL e retornando duas tabelas. Com isso economizamos código na própria aplicação, e ganhamos performance.
Para testar nossa aplicação vamos usar dois GridViews um chamado grdTabela1 e o outro chamado grdTabela2.

Agora vamos apontar o DataSource do grdTabela1 para o nosso objDataSet.Tables(0) e o DataSource do grdTabela2 para o nosso objDataSet.Tables(1). Executamos os dois DataBinds e pronto temos todas as informações que desejávamos.

Pronto agora é só rodar a aplicação

Abraços a todos e até a próxima
Quaisquer duvidas ou problemas williamsantos@miradesign.com.br