• Domingo 22 de Diciembre de 2024, 09:05

Autor Tema:  Duda Con Procedimiento Almacenado Con Parametro  (Leído 841 veces)

xabidh

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Duda Con Procedimiento Almacenado Con Parametro
« en: Martes 11 de Marzo de 2008, 19:23 »
0
Antes que nada quiero poner un ejemplo de un boton que si funciona para que veais la configuracion:

//este codigo recupera el nombre del usuario y lo mete en un texbox
(sin utilizar procedimientos almacenados)
            string s="Data Source=desktop\\SQLEXPRESS;Initial Catalog=Prueba;Integrated Security=True;";

            SqlConnection c=new SqlConnection(s);
            c.Open();
            SqlCommand com = new SqlCommand("Select * from Table1", c);
            SqlDataReader dr = com.ExecuteReader();
            dr.Read();
            textBox1.Text = dr["usuario"].ToString();


ahora quiero insertar un fila en mi bd que esta en desktop\SQLEXPRESS\Prueba.dbo PERO con procedimientos almacenados.
La tabla donde quiero insertar es Table1 y tiene las columnas: usuario, contraseña y dni todas nvarchar(10).
Los datos a insertar los tengo que  recoger de los textbox ( tbusuario, ,tbdni y tbcontraseña)

y el codigo del procedimiento almacenado es :
ALTER PROCEDURE dbo.Insertar
(
    @usuario nvarchar(10),
    @contraseña nvarchar(10),
    @dni nvarchar(10)
)
AS

    SET NOCOUNT ON

INSERT INTO Table1
                      (usuario, contraseña, dni)
VALUES     (@usuario,@contraseña,@dni)



como seria el codigo?? algo asi? :

string source = "Data Source=desktop\\SQLEXPRESS;Initial Catalog=Prueba;Integrated Security=True;";
           
            SqlConnection conn = new SqlConnection(source);
            conn.Open();
            SqlCommand cmd = new
            SqlCommand("Insertar", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@usuario", SqlDbType.NVarChar));
            cmd.Parameters.Add(new SqlParameter("@contraseña", SqlDbType.NVarChar));
            cmd.Parameters.Add(new SqlParameter("@dni", SqlDbType.NVarChar));
            cmd.UpdatedRowSource = UpdateRowSource.None;
            cmd.Parameters[0].Value = "cris";
            cmd.Parameters[1].Value = "1234";
            cmd.Parameters[0].Value = "12345678z";
            cmd.ExecuteNonQuery();