Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Chame um procedimento armazenado com parâmetro em c#


É praticamente o mesmo que executar uma consulta. Em seu código original você está criando um objeto de comando, colocando-o no cmd variável e nunca a use. Aqui, no entanto, você usará isso em vez de da.InsertCommand .

Além disso, use um using para todos os objetos descartáveis, para que você tenha certeza de que eles são descartados corretamente:
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();
    }
  }
}