Consultar dados através de parâmetros utilizando o banco de dados SQL Server 2005 e programação VB.NET


por DANIEL COUTO em 23/5/2007

Consultar dados através de parâmetros utilizando o banco de dados SQL Server 2005 e programação VB.NET

Olá a todos meu nome é Daniel Couto e estamos aqui com mais um help em relação a dados.

Bem no ultimo Artigo falava de como “Inserir dados no banco Access através do ASP 2.0 com codificação em VB.NET”. Tentei passar para todos a melhor e mais simples forma de codificar, uma vez que muitas pessoas não tem o embasamento técnico sobre a plataforma .NET, mas gostariam de desenvolver seus próprios projetos...

Recebi vários e-mails pedindo ajuda em como executar consultas diretas, sem a necessidade de usar um GridView, ou seja, colocar a informação direta em um Textbox, após a execução de um comando SELECT.

Então vamos ao trabalho, lembrando que estaremos utilizando o bando de dados SQL Server 2005:

A idéia de hoje será a seguinte: Suponhamos que você esteja desenvolvendo um sistema que possui a tabela CLIENTE e que já tenha conseguido inserir alguns dados nessa tabela... Se ainda não conseguiu, por favor, dê uma olhada no outro artigo “Inserir dados no banco Access através do ASP 2.0 com codificação em VB.NET” ok... Então em um determinado momento você deseja buscar o Nome, Sobrenome e o CPF de um determinado cliente, como proceder ??? Bem é fato que cada cliente possui sua própria chave primaria, ou seja, um valor único de difere de outros clientes.  Ex: CPF, RG ou ate mesmo um valor seqüencial criado no momento da gravação do registro. Logo quando executarmos o comando SELECT é preciso que utilizemos a clausula WHERE para passarmos esse parâmetro para que traga apenas um registro especifico.

Um exemplo padrão de consulta sql:  Select coluna_a, coluna_b, coluna_c from nome_tabela... Nessa consulta estarei trazendo dados somente da coluna a, b e c... Caso queira trazer todas as colunas da tabela basta utilizar o caracter *: Select * from nome_tabela... Agora como vamos selecionar um registro especifico, utilizamos a condição where como já havia comentado: Select coluna_a, coluna_b, coluna_c from nome_tabela where coluna_x = parametro.

Após definidos todos esses conceitos, no nosso exemplo a seguir teremos a idéia de passar a Identidade do Cliente ou o Registro Geral (RG) como queira, que é único de cada individuo como parâmetro na consulta. Para isso é necessário que se crie 04 TextBox e 01 Button conforme exemplo abaixo.

Renomeie os textbox para: txtRG, txtNome, txtSobrenome, txtCPF.

                Renomeie o button para: btnConsulta.

De um duplo clique no botão consulta e aparecerá o seguinte código:

Protected Sub btnConsultar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnConsultar.Click


‘codigo a ser inserido aqui

End Sub

Logo insira o código abaixo dentro da Sub btnConsulta.

        Dim Conexao As String = "Data Source=NomeBanco; User ID=Nome_Usuario; Password=Senha_Usuario "

        Dim sql As New StringBuilder()

        Dim conn As New SqlConnection(sConexao)

        sql.Append("select NOME, SOBRENOME, CPF from CLIENTES WHERE RG = '" + txtRG.Text + ")

        conn.Open()

        Dim cmd As New SqlCommand(sql.ToString(), conn)

        Dim dr As SqlDataReader = cmd.ExecuteReader()

        While dr.Read()

            Nome.Text = dr("NOME").ToString() ’O campo dr(“NOME”) em Maiusculo corresponde ao nome da coluna que foi solicitada na consuta acima.

            Sobrenome.Text = dr("SOBRENOME ").ToString() ’O campo dr(“ SOBRENOME”) em Maiusculo corresponde ao SOBRENOME  da coluna que foi solicitada na consuta acima.

            CPF.Text = dr("CPF").ToString() ’O campo dr(“ CPF”) em Maiusculo corresponde ao CPF da coluna que foi solicitada na consuta acima.

        End While

        dr.Close()

        conn.Close()

 

 

Após feitos todos os procedimentos o codigo deverá estar da seguinte maneira:

 

Protected Sub btnConsultar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnConsultar.Click

        Dim Conexao As String = "Data Source=NomeBanco; User ID=Nome_Usuario; Password=Senha_Usuario "

        Dim sql As New StringBuilder()

        Dim conn As New SqlConnection(sConexao)

        sql.Append("select NOME, SOBRENOME, CPF from CLIENTES WHERE RG = '" + txtRG.Text + ")

        conn.Open()

        Dim cmd As New SqlCommand(sql.ToString(), conn)

        Dim dr As SqlDataReader = cmd.ExecuteReader()

        While dr.Read()

            Nome.Text = dr("NOME").ToString()

            Sobrenome.Text = dr("SOBRENOME").ToString()

            CPF.Text = dr("CPF").ToString()

        End While

        dr.Close()

        conn.Close()
End Sub

Não sei se notaram, mas no código aparece: SqlConnection, SqlCommand e SqlDataReader... Eles são os metodos de conexão e execução com o banco de dados SQL SERVER 2005... Se voce for utilizar o banco ACCESS basta trocar por :OleDbConnection, OleDbCommand e OleDbDataReader... Já o ORACLE utiliza o seguinte: OracleConnection, OracleCommand e OracleDataReader. Lembrando que é preciso semper importar os metodos que for utilizar no inicio da pagina:

Imports System.Data.SqlClient

Imports System.Data.OracleClient
Imports System.Data.OleDb

Exemplo:

 

                Percebo ainda que uma das partes mais complicadas para um novo desenvolvedor é a parte de conexão com o Bando de Dados... Logo vou deixar aqui as strings de conexão mais utilizadas: Access, Oracle, SqlServer.

Dim c_Oracle As String = "Data Source=Nome_Banco;Persist Security Info=True;User ID=Nome_Usuario;Password=Senha;Unicode=True"

 

Dim c_SQL As String = "Data Source= Nome_Banco; User ID= Nome_Usuario; password= Senha "


Dim
c_Access As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Nome_banco.mdb"

É isso ai... Espero poder ter ajudado a todos que sempre buscaram um help no que diz respeito a consultas simples no banco de dados.

Daniel Couto

 

voltar   comente  subir

 
DANIEL COUTO



Comentários:
Comentado por: Anderson Braga - 24/5/2007 10:48:21
Muito bom.
Comentado por: Alien - 25/5/2007 11:27:49
Muito bom o artigo... Só passou despercebido que você declara uma variavel chamada Conexao onde faz a conexão com o banco de dadso SQL Server e após isso escreve como sConexao... Dim conn As New SqlConnection(sConexao). Logo só tirar o "s" que fica tudo certo.

String correta: Dim conn As New SqlConnection(Conexao)
Comentado por: Antonio Luiz - 30/10/2007 10:20:12
Esse artigo não está nada bom. Uma melhor pratica de uso de parametros é usar bind variables e não concatenação de strings.
Comentado por: Master - 21/11/2007 16:41:33
Discordo do Antonio Luiz, pois esse é um artigo bem simples e destinado a pessoas que estão começando a trabalhar com o .NET... Tudo bem que a dica que o Antonio deu é boa, mas já pensaram se eu fosse dar a minha dica e pedir para usar data set.
Comentado por: 12 - 25/7/2008 0:00:00
é uma porcaria esse topico....
ve se pensa antes de postar
Comentado por: 12 - 25/7/2008 0:00:00
é uma porcaria esse topico....
ve se pensa antes de postar
Comentado por: Pedro Ferreira - 25/7/2008 0:00:00
Li o texto e achei fácil compreenção...Simples para iniciante. Sugiro ao Sr 12 fazer um melhor em vez de criticar...
Comentado por: Ulisses - 16/8/2008 0:00:00
Muito Obrigado, esse artigo me ajudou bastante. Eu procurei muito até encontrar o que precisava.
Comentado por: Danilo - 15/1/2009 0:00:00
Muito Bom, simples e fácil. Me ajudou muito.... Valeu

Comente (dê sua opinião):
Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Consultar dados através de parâmetros utilizando o banco de dados SQL Server 2005 e programação VB.NET