Está en la página 1de 14

INSERTAR O GUARDAR CON VB.

NET Y SQL-SERVER 2005 Vamos a continuar viendo como insertar o guardar datos en nuestras tablas existentes en nuestra BD, para ello seguiremos trabajando con la BD de prueba que ustedes ya deben de tener. Comenzaremos verificando si tenemos lo necesario para realizar esta prctica. Para ello tenemos que abrir SQL y verificar si existe la tabla CLIENTE (IdCliente, Nombre, Apellido).

Ahora abrimos nuestra aplicacin de prueba hecha en VB.Net y verificar si la conexin est bien. (Pasos hechos en clases pasadas)

Para mbito de pruebas vamos a realizar un pequeo formulario donde podamos ingresar los datos de la tabla CLIENTE.

Ahora vamos a hacer doble clic en el botn Guardar para poder digitar el cdigo necesario para que se puedan guardar los datos a los cuales hacemos referencia. La primera lnea que tiene que aparecer es:
Imports System.Data.SqlClient

(Este codigo ya lo vimos en clases pasadas) Entonces dentro del boton Guardar escribir el siguiente codigo (por favor no hacer copiar y pegar).

Dim cmd As New SqlCommand Dim Cnn As New SqlConnection(My.Settings.Conexion) Cnn.Open() cmd = New SqlCommand cmd.CommandText = "INSERT INTO dbo.CLIENTE (IdCliente, Nombre, Apellido) VALUES ( '" & TxtCodigoCliente.Text & "','" & TxtNombreCliente.Text & "','" & TxtApellidoCliente.Text & "')" cmd.Connection = Cnn Try If (TxtCodigoCliente.Text = "") Then MsgBox("Cuadro de Texto Codigo Cliente en Blanco", MsgBoxStyle.Information, "ERROR") Exit Sub ElseIf (TxtNombreCliente.Text = "") Then MsgBox("Cuadro de Texto Nombre Cliente en Blanco", MsgBoxStyle.Information, "ERROR") Exit Sub ElseIf (TxtApellidoCliente.Text = "") Then MsgBox("Cuadro de Texto Apellido Cliente en Blanco", MsgBoxStyle.Information, "ERROR") Exit Sub End If Catch ex As Exception End Try cmd.ExecuteNonQuery() Cnn.Close() MsgBox("LOS DATOS SE HAN REGISTRADO CORRECTAMENTE", MsgBoxStyle.OkOnly, "Resultado") TxtCodigoCliente.Text = "" TxtNombreCliente.Text = "" TxtApellidoCliente.Text = ""

Ahora hacemos doble clic en cada uno de los TextBox que conforman nuestro formulario y en el evento TextChanged digitamos el siguiente cdigo
TxtNombreCliente.CharacterCasing = CharacterCasing.Upper

Este codigo lo unico que hace es que no podamos escribir letras minuscalas en nuestros TextBox, lo que hace que nuestra Base de Datos se mantega con un mismo formato.

Private Sub TxtNombreCliente_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtNombreCliente.TextChanged TxtNombreCliente.CharacterCasing = CharacterCasing.Upper End Sub

Private Sub TxtApellidoCliente_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtApellidoCliente.TextChanged TxtApellidoCliente.CharacterCasing = CharacterCasing.Upper End Sub

Con estos pasos tan sencillos hemos podido guardar un insertar registros en nuestra BD desde VB.Net, ahora les toca a ustedes aplicar este cdigo (con sus variantes) en su proyecto, en donde necesiten almacenar informacin. BUSQUEDA Y ACTUALIZACIN CON VB.NET Y SQL-SERVER 2005 Vamos a actualizar algunos datos que ya hayan sido guardados. Como recordaran, no podemos actualizar datos sin antes haberlos buscados para saber si existen, por ejemplo; si deseamos actualizar la direccin domiciliar de Juan Prez, primero tenemos que buscar en nuestra BD si existe Juan Prez, para luego poder actualizar su direccin domiciliar. De igual forma que en el documento anterior, comenzaremos verificando si tenemos lo necesario para realizar esta prctica. Para ello tenemos que abrir SQL y verificar si existe la tabla CLIENTE (IdCliente, Nombre, Apellido, Direccin)..

Ahora abrimos nuestra aplicacin de prueba hecha en VB.Net y verificar si la conexin est bien.

Para mbito de pruebas vamos a anexarle a nuestro formulario CLIENTES (formulario realizado clase anterior) un campo Direccin y un botn modificar y vamos a ingresar tres usuarios con su cdigo, nombre, apellido y direccin.

Tambin haremos un pequeo formulario para Poder Buscar a nuestros Clientes, en este caso lo vamos a buscar por su Cdigo (Esta bsqueda va a variar dependiendo de las necesidades de cada proyecto).

Luego de haber ingresado los Clientes vamos a buscar uno de los clientes para poder actualizar cierta informacin que pudo haber cambiado (En nuestro ejemplo la direccin domiciliar) Lo primero que tenemos que realizar es el procedimiento almacenado en SQL
CREATE PROCEDURE SPBusquedaCliente @IdCliente nvarchar (50) AS BEGIN select * from CLIENTE where IdCliente=@IdCliente END

Ahora nos regresamos a Visual Basic En el botn Buscar del formulario Buscar Cliente digitaremos el siguiente cdigo La primera lnea que tiene que aparecer es:
Imports System.Data.SqlClient

(Este codigo ya lo vimos en clases pasadas) Entonces dentro del botn Buscar escribir el siguiente codigo (por favor no hacer copiar y pegar).
Dim cmd As New SqlCommand Dim Cnn As New SqlConnection(My.Settings.Conexion) Cnn.Open() Dim rst As SqlDataReader cmd.CommandText = "SPBusquedaCliente" cmd.CommandType = CommandType.StoredProcedure cmd.Connection = Cnn With cmd.Parameters .Add(New SqlParameter("@IdCliente", SqlDbType.NVarChar)).Value = TxtCodigoCliente.Text End With cmd.ExecuteNonQuery()

Try rst = cmd.ExecuteReader rst.Read() If rst.HasRows Then Dim BuscarCliente As New FrmClientes 'En este codigo, hacemos lectura a nuestra tabla CLIENTE 'en SQL, nuestras tablas se manejan como los arreglos 'es por ello que el codigo del cliente se encuentra en 'la posicin cero (0) BuscarCliente.TxtCodigoCliente.Text = rst.GetString(0) BuscarCliente.TxtNombreCliente.Text = rst.GetString(1) BuscarCliente.TxtApellidoCliente.Text = rst.GetString(2) BuscarCliente.TxtDireccionCliente.Text = rst.GetString(3) 'El Texbox codigo cliente le decimos que sea de solo lectura 'para que el usuario no pueda cambiar el codigo y desactivamos 'y desactivamos el boton guardar. BuscarCliente.TxtCodigoCliente.ReadOnly = True BuscarCliente.BtnGuardar.Enabled = False BuscarCliente.ShowDialog() Me.Close() Else MessageBox.Show("La Cliente no se encuentra en el sistema") Me.TxtCodigoCliente.Text = "" End If rst.Close() Cnn.Close() Catch ex As Exception End Try

Ahora vamos a modificar la direccin, simplemente borramos la direccin actual y escribimos la nueva, y a continuacin deberamos de dar clic en el botn Modificar, el cual debe de llevar el siguiente cdigo Entonces dentro del botn Modificar escribir el siguiente cdigo (por favor no hacer copiar y pegar).
Dim cmd As New SqlCommand Dim Cnn As New SqlConnection(My.Settings.Conexion) Cnn.Open() cmd.CommandText = "SpActualizarCliente" cmd.CommandType = CommandType.StoredProcedure cmd.Connection = Cnn With cmd.Parameters .Add(New SqlParameter("@IdCliente", SqlDbType.NVarChar)).Value = TxtCodigoCliente.Text .Add(New SqlParameter("@Nombre", SqlDbType.NVarChar)).Value = TxtNombreCliente.Text .Add(New SqlParameter("@Apellido", SqlDbType.NVarChar)).Value = TxtApellidoCliente.Text .Add(New SqlParameter("@Direccion", SqlDbType.NVarChar)).Value = TxtDireccionCliente.Text End With

cmd.ExecuteNonQuery() MessageBox.Show("LOS DATOS HAN SIDO MODIFICADO CORRECTAMENTE") Cnn.Close() TxtCodigoCliente.Text = "" TxtNombreCliente.Text = "" TxtApellidoCliente.Text = "" TxtDireccionCliente.Text = ""

A como podrn observar lo que se hizo en esta prctica fue, modificar la direccin del Cliente NESTOR TRAA, la cual cambio de Jos Dolores Estradas, por Valle Santa Rosa. Sin embargo este procedimiento tambin permite cambiar el nombre y el apellido, pero no permite cambiar el cdigo del cliente (IdCliente), ya que se supone que ese cdigo debe ser nico. Recuerden que todas estas prcticas van a variar respecto a sus proyectos. BUSQUEDA Y ACTUALIZACIN CON VB.NET Y SQL-SERVER 2005 Vamos a actualizar algunos datos que ya hayan sido guardados. Como recordaran, no podemos actualizar datos sin antes haberlos buscados para saber si existen, por ejemplo; si deseamos actualizar la direccin domiciliar de Juan Prez, primero tenemos que buscar en nuestra BD si existe Juan Prez, para luego poder actualizar su direccin domiciliar. De igual forma que en el documento anterior, comenzaremos verificando si tenemos lo necesario para realizar esta prctica. Para ello tenemos que abrir SQL y verificar si existe la tabla CLIENTE (IdCliente, Nombre, Apellido, Direccin).

Ahora abrimos nuestra aplicacin de prueba hecha en VB.Net y verificar si la conexin est bien.

Para mbito de pruebas vamos a anexarle a nuestro formulario CLIENTES (formulario realizado clase anterior) un campo Direccin y un botn modificar y vamos a ingresar tres usuarios con su cdigo, nombre, apellido y direccin.

Tambin haremos un pequeo formulario para Poder Buscar a nuestros Clientes, en este caso lo vamos a buscar por su Cdigo (Esta bsqueda va a variar dependiendo de las necesidades de cada proyecto).

Luego de haber ingresado los Clientes vamos a buscar uno de los clientes para poder actualizar cierta informacin que pudo haber cambiado (En nuestro ejemplo la direccin domiciliar) En el botn Buscar del formulario Buscar Cliente digitaremos el siguiente cdigo La primera lnea que tiene que aparecer es:

Imports System.Data.SqlClient

(Este codigo ya lo vimos en clases pasadas) Entonces dentro del botn Buscar escribir el siguiente codigo (por favor no hacer copiar y pegar).
Dim cmd As SqlCommand Dim Cnn As New SqlConnection(My.Settings.Conexion) Cnn.Open() Dim rst As SqlDataReader cmd = New SqlCommand cmd.CommandText = "SELECT * FROM dbo.CLIENTE WHERE (IdCliente ='" & TxtCodigoCliente.Text & "')" cmd.Connection = Cnn cmd.ExecuteNonQuery() Try rst = cmd.ExecuteReader rst.Read() If rst.HasRows Then Dim BuscarCliente As New FrmClientes 'En este codigo, hacemos lectura a nuestra tabla CLIENTE 'en SQL, nuestras tablas se manejan como los arreglos 'es por ello que el codigo del cliente se encuentra en 'la posicin cero (0) BuscarCliente.TxtCodigoCliente.Text = rst.GetString(0) BuscarCliente.TxtNombreCliente.Text = rst.GetString(1) BuscarCliente.TxtApellidoCliente.Text = rst.GetString(2) BuscarCliente.TxtDireccionCliente.Text = rst.GetString(3) 'El Texbox codigo cliente le decimos que sea de solo lectura 'para que el usuario no pueda cambiar el codigo y desactivamos 'y desactivamos el boton guardar. BuscarCliente.TxtCodigoCliente.ReadOnly = True BuscarCliente.BtnGuardar.Enabled = False BuscarCliente.ShowDialog() Me.Close() Else MessageBox.Show("La Cliente no se encuentra en el sistema") Me.TxtCodigoCliente.Text = "" End If rst.Close() Cnn.Close() Catch ex As Exception End Try

Ahora vamos a modificar la direccin, simplemente borramos la direccin actual y escribimos la nueva, y a continuacin deberamos de dar clic en el botn Modificar, el cual debe de llevar el siguiente cdigo Entonces dentro del botn Modificar escribir el siguiente cdigo (por favor no hacer copiar y pegar).
Dim cmd As SqlCommand Dim Cnn As New SqlConnection(My.Settings.Conexion) Cnn.Open() cmd = New SqlCommand cmd.CommandText = "UPDATE dbo.CLIENTE SET Nombre= '" & TxtNombreCliente.Text & "',Apellido='" & TxtApellidoCliente.Text & "', Direccion='" & TxtDireccionCliente.Text & "' WHERE IdCliente ='" & TxtCodigoCliente.Text & "'" cmd.Connection = Cnn cmd.ExecuteNonQuery() MessageBox.Show("LOS DATOS HAN SIDO MODIFICADO CORRECTAMENTE") Cnn.Close() TxtCodigoCliente.Text = "" TxtNombreCliente.Text = "" TxtApellidoCliente.Text = "" TxtDireccionCliente.Text = ""

A como podrn observar lo que se hizo en esta prctica fue, modificar la direccin del Cliente NESTOR TRAA, la cual cambio de Jos Dolores Estradas, por Valle Santa Rosa. Sin embargo este procedimiento tambin permite cambiar el nombre y el apellido, pero no permite cambiar el cdigo del cliente (IdCliente), ya que se supone que ese cdigo debe ser nico. Recuerden que todas estas prcticas van a variar respecto a sus proyectos.

También podría gustarte