sql >> Base de Datos >  >> RDS >> Sqlserver

Llame a un procedimiento almacenado con parámetro en C#

Es más o menos lo mismo que ejecutar una consulta. En su código original, está creando un objeto de comando, colocándolo en el cmd variable, y nunca la use. Aquí, sin embargo, usará eso en lugar de da.InsertCommand .

Además, use un using para todos los objetos desechables, para que esté seguro de que se desechan correctamente:

private void button1_Click(object sender, EventArgs e) {
  using (SqlConnection con = new SqlConnection(dc.Con)) {
    using (SqlCommand cmd = new SqlCommand("sp_Add_contact", con)) {
      cmd.CommandType = CommandType.StoredProcedure;

      cmd.Parameters.Add("@FirstName", SqlDbType.VarChar).Value = txtFirstName.Text;
      cmd.Parameters.Add("@LastName", SqlDbType.VarChar).Value = txtLastName.Text;

      con.Open();
      cmd.ExecuteNonQuery();
    }
  }
}