Ferramentas de Utilizador

Ferramentas de Site


dev_net:vb.net:poptextbox

Popular Textboxs

Introdução

São várias as formas de popular as Textboxs (ou outro controlo) com informações provenientes da base de dados. Neste artigo exemplifico três das formas mais comuns. A base de dados utilizada será SQL. Escolhi o controlo Textbox porque é o mais comum e onde surgem mais dúvidas!

Diferentes tipos

Para que tudo funcione na perfeição, é necessário antes do Public Class(no source-code) incutir a seguinte linha de código:
Imports System.Data.SqlClient

DataSet

O DataSet é o sistema por mim mais utilizado para ler dados, isto porque o mesmo não precisa de uma connection aberta e, por sua vez, sempre que executada uma query, a mesma é guardada por um período considerável e podemos aceder-lhe sempre que precisemos.

Dim connection As New SqlConnection("Server=PINHOSQLEXPRESS;Database=Teste;Trusted_Connection=True;")
Dim query As String = "SELECT Nome FROM Clientes WHERE IDCliente = @ID"
Dim command As New SqlCommand(query, connection)
command.Parameters.Add("@ID", SqlDbType.Int).Value = 2
Dim Adapter As New SqlDataAdapter(command)
Dim DSet As New DataSet()
Adapter.Fill(DSet, 0)
TextBox1.Text = DSet.Tables(0).Rows(0).Item(0).ToString()

DataReader

O DataReader trata-se de uma class que apenas nos providencia read-only e forward-only de uma forma rápida. Isto significa que não podemos executar qualquer tipo de alterações e que toda a data que foi acedida não poderá novamente ser acedida. A connection terá, obrigatoriamente, que estar constantemente ligada.

Dim connection As New SqlConnection("Server=PINHOSQLEXPRESS;Database=Teste;Trusted_Connection=True;")
Dim query As String = "SELECT Nome FROM Clientes WHERE IDCliente = @ID"
Dim command As New SqlCommand(query, connection)
command.Parameters.Add("@ID", SqlDbType.Int).Value = 2
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
   While reader.Read
     TextBox1.Text = reader.Item(0).ToString()
   End While
connection.Close()

DataBindings

Apenas alguns controlos, como é o caso da Textbox e da DataGridView, possuem DataBindings. Portanto este método restringe-se a alguns controlos. Uma das grandes implementações na .NET Framework foi a inclusão dos DataBindings. Para quem costuma trabalhar com BindingSources, de certo que já se apercebeu da facilidade de manuseamento e construção de dados.

As vantagens resumem-se a:

  1. Construir de forma eficaz aplicações;
  2. Escrever menos código;
  3. Todo o código necessário é escrito, no background, pela .NET Framework;
  4. Temos na mesma todos os eventos disponíveis.

No exemplo que se segue eu utilizo, em interacção com os DataBindings, um DataSet. No entanto, podem utilizar:

  1. Arrays;
  2. DataColumn;
  3. DataTables;
  4. DataView;
  5. DataSet.
Dim connection As New SqlConnection("Server=PINHOSQLEXPRESS;Database=Teste;Trusted_Connection=True;")
Dim query As String = "SELECT Nome FROM Clientes WHERE IDCliente = @ID"
Dim command As New SqlCommand(query, connection)
command.Parameters.Add("@ID", SqlDbType.Int).Value = 2
Dim Adapter As New SqlDataAdapter(command)
Dim DSet As New DataSet()
Adapter.Fill(DSet, "Clientes")
Textbox1.DataBindings.Add(New Binding("Text", DSet, "Clientes.Nome"))

Conclusão

As formas de leitura de dados fica a cargo de cada um. Há que saber tirar partido das vantagens de cada diferente tipo e perceber qual joga mais em nosso favor.

Artigo escrito por bioshock

Referências

dev_net/vb.net/poptextbox.txt · Esta página foi modificada pela última vez em: 2018/05/14 21:37 (Edição externa)