Mensaje dentro de Acceso y trabajo con datos

Responder 
#1 - 11/03/2008 16:42:11 Reporta abuso | Link Permanente
xabi
Usuario no registrado
Como ejecutar y pasarle parametros procedimiento almacenado

Responder Citar
    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 = newSqlConnection(source);
            conn.Open();
            SqlCommandcmd = new
            SqlCommand("Insertar", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add(newSqlParameter("@usuario", SqlDbType.NVarChar));
            cmd.Parameters.Add(newSqlParameter("@contraseña", SqlDbType.NVarChar));
            cmd.Parameters.Add(newSqlParameter("@dni", SqlDbType.NVarChar));
            cmd.UpdatedRowSource = UpdateRowSource.None;
            cmd.Parameters[0].Value = "cris";
            cmd.Parameters[1].Value = "1234";
            cmd.Parameters[0].Value = "12345678z";
            cmd.ExecuteNonQuery();
           

 
Volver arriba

Respuestas
Mostrar de en 15
#2 - 18/03/2008 16:42:13 Reporta abuso | Link Permanente
jishu
Fecha de registro: 12/03/2008
1 post en este tema
2 posts en acceso y trabajo con datos
2 posts en todos los foros
RE: Como ejecutar y pasarle parametros procedimiento almacenado

Responder Citar
hi, bueno casi todo esta bien:

- el procedimiento insertar, ok
- la conexion, ok
el problema seria en lo siguiente:

string source = "Data Source=desktop\\SQLEXPRESS;Initial Catalog=Prueba;Integrated Security=True;";ok
           
SqlConnection conn = newSqlConnection(source);
conn.Open();
SqlCommand cmd = new SqlCommand("Insertar", conn);
            cmd.CommandType = CommandType.StoredProcedure;ok

directamente...
cmd.Parameters.Add("@usuario", SqlDbType.NVarChar, 15)
 cmd.Parameters("@usuario").Value = 'tbusuario.Text

          
.... para cada parametro
          
 cmd.ExecuteNonQuery();ok

ojala t ayude bye
           
Volver arriba
Mostrar de en 15