Realización de Altas,Bajas y Cambios con Visual C# y SQL Server 2005

Lo primero que debemos hacer es diseñar nuestro formulario, los elemento que contendrá dependera directamente de los campos de la tabla o de la información que se quierea presentar.

Componentes a utilizar.

SQLConnection

SQL Command

Stored Procedured SQL SERVER 2005

REVISA ESTO: ES IMPORTANTE AGREGAR EN CADA FORMULARIO DONDE UTILICEMOS CONEXIONES A SQL SERVER EL COMPONENTE SQLClient, ESTE NOS PERMITE REALIZAR LA CONEXION, VASTA CON QUE SE AGREGUE EL SIGUIENTE CODIGO AL INICIO DE ESTE, EN LA SECCION DE CABECERA.

Using 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, ahi vamos a crear los procedimientos almacenados (stored procedure).

Botón 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

Esto hará que muestre una pantalla para editar el respectivo código en SQL, los siguientes procedimientos están compuestos de dos partes, la primera donde se declaran los parametros a utilziar, y en la segunda donde se realiza la transacción 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

Código del Botón 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

Código del Butón 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
Código del Botón 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 = “”;

REVISA ESTO: LA VARIABLE CONEXION ES DE TIPO STRING Y CONTIENE LA CADENA DE CONEXION, PARA ESTE EJEMPLO CONSIDERE LA SIGUIENTE :

String conexion=”Data Source=.;Initial Catalog=dbDemo;Integrated Security=true”;

Data Sorce:  Se debe indicar el nombre del servidor, si se tiene SQLSERVER Express, sera necesario darselo, si se cuenta con una versión superior, podemos utilizar unicamente el . (punto)

Initial Catalog: Debemos colocar el nombre de la base de datos a utilizar.

27 comentarios sobre “Realización de Altas,Bajas y Cambios con Visual C# y SQL Server 2005

  1. Hola Sergio, primero que nada si es una aplicación para Windows,no tienes los componentes SQLConnection y SQLCommand porque debes de agregar en el encabezado de tu formulario esta linea de codigo.

    Using System.Data.SQLClient;

    ¿cuales son tus dudas?

  2. Muchisimas Gracias! esta muy bien todo lo respondido, voy a intentar ejecutarlo… Esta muy bueno este sitio.. me gustaria tener tu correo… Saludos!….

  3. Hola, disculpa se jecuta perfectamente la intrucccion, me dice que que si se agrego el cliente, pero cuando reviso la tabla de datos o quiero utilizar el cliente, resulta que no se agrego, alguna idea??

  4. tengo una duda, soy nuevo en esto, no se define conexion en el codigo que pusiste, como lo tendria que definir? porque me salta que conexion no existe en el contexto actual

  5. aki les dejo el codigo q me funciono para altas:

    void Button4Click(object sender, EventArgs e)
    {

    conexion.Open();
    SqlCommand cmd=new SqlCommand(“spAltaCliente”,conexion);
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.Add(“@Id_Articulo”, SqlDbType.Int).Value = textBox1.Text;
    cmd.Parameters.Add(“@Id_Proveedor”, SqlDbType.Int).Value = 1;
    cmd.Parameters.Add(“@Id_Factura”, SqlDbType.Int).Value = 3;
    cmd.Parameters.Add(“@Nom_Articulo”, SqlDbType.VarChar).Value = textBox2.Text;
    cmd.Parameters.Add(“@Cantidad “, SqlDbType.Int ).Value = textBox4.Text;
    cmd.Parameters.Add(“@Precio_Unitario”, SqlDbType.Money).Value = textBox5.Text;
    cmd.Parameters.Add(“@Precio_publico”, SqlDbType.Money).Value = textBox7.Text;
    cmd.Parameters.Add(“@Descripcion”, SqlDbType.VarChar).Value = textBox3.Text;
    cmd.ExecuteNonQuery();
    MessageBox.Show(“Cliente Activado”);

  6. hola mi duda esque ya agregue el Data.sqlCliente
    pero me sigue marcando errores en cmd y cnn no se a que se deba agradecere mucho su ayuda

  7. para los que quieran agregar los sentencias de SQL lleva dos librerias que son
    en c# 2005

    using System.data.sqlclient;

    using system.data.sqltypes;

  8. que onda.
    bueno primero grasias x el ejemplo, me ayudo mucho pero tengo un error algien me podria alludar??
    Dim conexion As String = “Data Source=jorge-pc;Initial Equipos=dbDemo;Integrated Security=true”
    cnn = New SqlConnection(conexion)
    cnn.Open()

    utiliso la coneccion y me manda un error
    dise que Palabra clave no admitida: ‘Initial equipos’.

    y no puedo darle solucion al error

    me podrian ayudar xfavor

  9. Ya copie lo que va en cada stored procedure, pero se sigue llamando SotoredrProcedure1, debo ejecutarlo o cómo hago para que tenga el nombre que yo le di?

  10. No usas Clases ni DAO, BO, GUI, ni Servicios???…. Que rara forma de programar… pero bueno, mientras funcione. Lo digo porque hoy en dia hay que programar en 3 capas.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s