You are on page 1of 3

Atendiendo a todos los usuarios de Visual Basic, vamos a realizar el uso de Procedmientos Almacenados en SQL Server 2005y Visual

Basic. El primer paso , es disear nuestro formulario.

Hay que considerar que este ejemplo es similar al que hice con Visual C#. Los elementos a utilizar son: SQLConnection SQL Command Stored Procedured SQL SERVER 2005 Si ya tenemos el formulario, ahora hay que agregarle el cdigo. Empezaremos por agregarle en el encabezado antes de Public Class Form1 esto: Imports System.Data.SqlClient Este es mi formulario de ejemplo, es una pantalla para dar de alta a los clientes, en ella solo voy a estar afectando a los campos clave, nombre, direccion y negocio. Hay que agregrar una nueva conexion a una base de datos declaramos esto agregandole la cadena de conexin. Dim cnn As SqlConnection Dim cmd As SqlCommand Dim dr As DataRow Dim conexion As String = Data Source=.;Initial Catalog=dbDemo;Integrated Security=true Coloreo la linea de la conexion porque es importante recordar lo siguiente: Data Source: Se debe indicar el nombre del servidor, si se tiene SQLSERVER Express, sera necesario darselo, si se cuenta con una versin superior, podemos utilizar unicamente el . (punto) Initial Catalog: Debemos colocar el nombre de la base de datos a utilizar. Botn Altas. Primero hay que crear el procedimiento almacenado, en la venta de Server Explorer , hay que escoger la Base de Datos, y de ahi la carpeta de Stored Procedure, damos un clic con el boton derecho y escogemos Add New Stored Procedure

Aqui vamos a crear los procedimientos almacenados (stored procedure). Esto har que muestre una pantalla para editar el respectivo cdigo en SQL, los siguientes procedimientos estn compuestos de dos partes, la primera donde se declaran los parametros a utilziar, y en la segunda donde se realiza la transaccin SQL.

El procedimiento de Insertar un registro queda de esta forma, recuerda que el nombre que le des al Store Proceudure ser como se almacenar y se llamar desde tu programa en VS.

Stored Procedure Altas ALTER PROCEDURE dbo.spAltaCliente @prmId int, @prmNombre nvarchar(50), @prmDireccion nvarchar(50), @prmNegocio nvarchar(50) AS INSERT INTO CLIENTES (ID,NOMBRE,DIRECCION,NEGOCIO) VALUES (@prmId,@prmNombre,@prmDireccion,@prmNegocio) RETURN Cdigo del Botn Altas cnn = New SqlConnection(conexion) cnn.Open(); cmd=New SqlCommand(spAltaCliente,cnn) cmd.CommandType = CommandType.StoredProcedure cmd.Parameters.Add(@prmClave, SqlDbType.Int).Value = Convert.ToInt16(TextBox1.Text) cmd.Parameters.Add(@prmNombre, SqlDbType.NVarChar).Value = TextBox2.Text cmd.Parameters.Add(@prmDireccion, SqlDbType.NVarChar).Value = TextBox3.Text cmd.Parameters.Add(@prmNegocio, SqlDbType.NVarChar).Value = TextBox4.Text cmd.ExecuteNonQuery() MessageBox.Show(Cliente Activado) TextBox1.Text = TextBox2.Text = TextBox3.Text = TextBox4.Text = Stored Procedure Eliminar CREATE PROCEDURE dbo.spEliminaCliente @prmId int AS DELETE FROM CLIENTES WHERE ID=@prmId RETURN

Cdigo del Butn Eliminar cnn = New SqlConnection(conexion) cnn.Open() cmd = New SqlCommand(spEliminaCliente, cnn) cmd.CommandType = CommandType.StoredProcedure cmd.Parameters.Add(@prmClave, SqlDbType.Int).Value = Convert.ToInt16(TextBox1.Text) cmd.ExecuteNonQuery() MessageBox.Show(Cliente ELIMINADO) TextBox1.Text = TextBox2.Text = Stored Procedure Modificar CREATE PROCEDURE dbo.spModificaCliente @prmId int, @prmNombre nvarchar(40) AS UPDATE clientes SET nombre=@prmNombre WHERE Id=@prmId RETURN Cdigo del Botn Modificar cnn = New SqlConnection(conexion) cnn.Open() cmd = new SqlCommand(spModificaCliente, cnn) cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(@prmId, SqlDbType.Int).Value = Convert.ToInt16(TextBox1.Text) cmd.Parameters.Add(@prmNombre, SqlDbType.NVarChar).Value = TextBox2.Text cmd.ExecuteNonQuery() MessageBox.Show(Cliente Modificado) textBox1.Text = textBox2.Text = Y les anexo el botn de consulta mas tarde. Saludos!!!