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();