VB.2005 - Preenchendo um DataTable com uma Stored Procedure


Vamos preencher um DataTable com os dados da tabela Clientes do banco de dados Cadastro.mdf. Esse banco de dados foi criado no SQL Server 2005 Express usando os assistentes do VB 2005. Para ver detalhes de como o banco de dados e a tabela foram criados veja o artigo : VB.NET  2005 -  Acesso a fonte de dados SQL Server via código.

Criando o projeto

Crie um novo projeto no VB 2005 com o nome de spDataTable. A seguir abra a janela DataBase Explorer e clique com o botão direito sobre a tabela Clientes; selecione Open Table Definition para alterar a estrutura da tabela incluindo o campo pais.

Para o propósito deste artigo eu alterei a estrutura da tabela incluindo o campo pais conforme figura abaixo:

A seguir inclua alguns dados na tabela. Os dados incluídos por mim estão exibidos na figura a seguir. Para fazer isto clique com o botão direito do mouse sobre a tabela e selecione a opção Show Table Data. O objetivo é selecionar os clientes pelo pais de origem.

Para fazer isto falta criar uma stored procedure no banco de dados. Vamos lá...

Criando a Stored Procedure

Clique com o botão direito do mouse sobre o item Stored Procedure e selecione a opção Add New Stored Procedure. (Fig 1.0)

A seguir digite o código da stored procedure que irá selecionar os dados da tabela Clientes usando o parâmetro pais como critério de seleção. (Fig 2.0)

Após terminar salve o seu trabalho; retornando a janela DataBase Explorer você verá a stored procedure conforme a Fig 3.0.

Fig 1.0 : Criando um nova SP Fig 2.0 : O código da Stored Procedure Fig 3.0 : A SP criada no banco de dados

Vamos salvar a string de conexão usando o recurso My.Settings. Clique com o botão direito sobre My Project na janela Solution Explorer e selecione Open. Na janela a seguir selecione Settings e informe um nome para a string de conexão na coluna Name. Eu usei o nome connString. A seguir inclua a string de conexão na coluna Value e salve a operação.

Finalmente podemos incluir o código no formulário form1.vb do projeto. Inclua no formulário um controle Label, um Combobox, um DataGridView e um Button , conforme o leiaute que exibe a figura abaixo:

Finalmente inclua o seguinte código no formulário:

Neste código a rotina preenche_Tabela é ativada pelo Botão de comando e cria um novo objeto DataTable e um novo DataAdapter. Note que o DataAdapter é  criado pela indicação da Stored Procedure e da string de conexão armazenada no projeto via recurso My. (My.Settings.connString)

A seguir efetuamos a definição da Stored Procedure e a passagem de parâmetro que deverá vir da seleção do usuário via Combobox - cboPais.

Depois basta preencher o DataTable e exibir no DataGridView como mostrado acima.

Pegue o projeto completo aqui : spDataTable.zip (sem a base de dados)

Até o próximo artigo... 


José Carlos Macoratti