En el concepto anterior recuperamos todos los registros de una tabla. Ahora veremos como podemos rescatar uno en particular.
Implementar la consulta de un artículo ingresando por teclado el código y recuperando la descripción y el precio.
Crear un proyecto llamado: BaseDatos4 y definir la siguiente interfaz visual:
5 objeto de la clase Label. 1 objeto de la clase Button. 1 objeto de la clase TextBox.
En el evento Click procedemos a buscar el código del artículo ingresado en el TextBox. El código fuente es:
Imports System.Data.SqlClient Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim conexion As SqlConnection conexion = New SqlConnection("server=DIEGO-PC ; database=base1 ; integrated security = true") conexion.Open() Dim cod As String = TextBox1.Text Dim cadena As String = "select descripcion, precio from articulos where codigo=" & cod Dim comando As SqlCommand comando = New SqlCommand(cadena, conexion) Dim registro As SqlDataReader registro = comando.ExecuteReader() Label4.Text = "" Label5.Text = "" If registro.Read() = True Then Label4.Text = registro("descripcion") Label5.Text = registro("precio") Else MessageBox.Show("No existe un artículo con el código ingresado") End If conexion.Close() End Sub End Class
Importamos el espacio de nombres:
Imports System.Data.SqlClient
En el evento Click del botón "Buscar" procedemos a conectarnos con el motor de base de datos y abrir la conexión:
Dim conexion As SqlConnection conexion = New SqlConnection("server=DIEGO-PC ; database=base1 ; integrated security = true") conexion.Open()
Seguidamente confeccionamos un String con el comando SQL select para recuperar la descripción y el precio del artículo cuyo código coincide con el valor ingresado por teclado:
Dim cod As String = TextBox1.Text Dim cadena As String = "select descripcion, precio from articulos where codigo=" & cod
Creamos un objeto de la clase SqlCommand pasando el comando SQL y la referencia a la conexión:
Dim comando As SqlCommand comando = New SqlCommand(cadena, conexion)
Recuperamos un objeto de la clase SqlDataReader que retorna el objeto de la clase SqlCommand mediante el llamando al método EcecuteReader:
Dim registro As SqlDataReader registro = comando.ExecuteReader()
Si el resultado del comando select recuperó un registro de la tabla articulos luego la llamada al método Read se verifica verdadero y procedemos a mostrar el resultado por pantalla:
If registro.Read() = True Then Label4.Text = registro("descripcion") Label5.Text = registro("precio")
En el caso que hayamos ingresado un código inexistente procedemos a mostrar un mensaje por el Else:
Else MessageBox.Show("No existe un artículo con el código ingresado") End If
La interfaz en funcionamiento es: