Vimos hasta ahora el alta (carga), consulta (búsqueda) y baja (borrado). Ahora veremos como modificar datos de una fila de la tabla.
Para modificar datos debemos utilizar el comando SQL update.
Implementar una aplicación que permita consultar un artículo por su código. Luego mostrar en dos TextBox la descripción y el precio actual. Permitir modificar la descripción y precio dejando registrado dicho cambio en la tabla de la base de datos al presionar un botón.
Crear un proyecto llamado: BaseDeDatos6 y definir la siguiente interfaz visual:
3 objeto de la clase Label.
2 objeto de la clase Button (disponer la propiedad Enabled del
botón de modificación en false para que empiece desactivo)
3 objeto de la clase TextBox.

El código fuente para resolver la consulta y modificación es:
Imports System.Data.SqlClient
Public Class Form1
Private conexion As New SqlConnection("server=DIEGO-PC ; database=base1 ; integrated security = true")
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
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()
If registro.Read() Then
TextBox2.Text = registro("descripcion")
TextBox3.Text = registro("precio")
Button2.Enabled = True
Else
MessageBox.Show("No existe un artículo con el código ingresado")
End If
conexion.Close()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
conexion.Open()
Dim cod As String = TextBox1.Text
Dim descri As String = TextBox2.Text
Dim precio As String = TextBox3.Text
Dim cadena As String = "update articulos set descripcion='" & descri & "', precio=" & precio & " where codigo=" & cod
Dim comando As SqlCommand
comando = New SqlCommand(cadena, conexion)
Dim cant As Integer
cant = comando.ExecuteNonQuery()
If cant = 1 Then
MessageBox.Show("Se modificaron los datos del artículo")
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
Else
MessageBox.Show("No existe un artículo con el código ingresado")
End If
conexion.Close()
Button2.Enabled = False
End Sub
End Class
Primero indicamos el uso del espacio de nombres relacionado a la comunicación con SQL Server:
Imports System.Data.SqlClient
Como en los dos métodos utilizamos el objeto SqlConnection lo definimos como un atributo de la clase Form1:
Public Class Form1
Private conexion As New SqlConnection("server=DIEGO-PC ; database=base1 ; integrated security = true")
El algoritmo de consulta es idéntico al concepto que vimos anteriormente (salvo que los datos rescatados los mostramos en TextBox):
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
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()
If registro.Read() Then
TextBox2.Text = registro("descripcion")
TextBox3.Text = registro("precio")
Button2.Enabled = True
Else
MessageBox.Show("No existe un artículo con el código ingresado")
End If
conexion.Close()
End Sub
En el evento Click de la modificación procedemos a configurar un String con el comando SQL update rescatando los datos de los tres TextBox:
Dim cod As String = TextBox1.Text
Dim descri As String = TextBox2.Text
Dim precio As String = TextBox3.Text
Dim cadena As String = "update articulos set descripcion='" & descri & "', precio=" & precio & " where codigo=" & cod
Seguidamente creamos un objeto de la clase SqlCommand pasando al constructor el String con el comando update y la referencia a la conexión:
Dim comando As SqlCommand
comando = New SqlCommand(cadena, conexion)
Llamamos al método ExecuteNonQuery para que se ejecute el comando update por parte del SQL Server y nos retorne la cantidad de registros afectados:
Dim cant As Integer
cant = comando.ExecuteNonQuery()
Si retorna un uno significa que se efectuó la modificación:
If registro.Read() Then
TextBox2.Text = registro("descripcion")
TextBox3.Text = registro("precio")
Button2.Enabled = True
En pantalla tenemos la siguiente interfaz luego de modificar un artículo:
