public void InserirParticipante(Participante participante) { try { if (conexao.State == ConnectionState.Closed) { conexao.Open(); } NpgsqlCommand comandoSQL = new NpgsqlCommand("inserir_participante", (NpgsqlConnection)conexao); comandoSQL.CommandType = CommandType.StoredProcedure; FabricaParametros.CriarParametrosParticipante(comandoSQL, participante, campi); comandoSQL.Prepare(); NpgsqlDataReader leitor = comandoSQL.ExecuteReader(); int codigo_participante = -1; while (leitor.Read()) { codigo_participante = Int32.Parse(leitor[0].ToString()); } leitor.Close(); leitor.Dispose(); InserirConteudo(participante, codigo_participante); } catch (Exception ex) { Console.Write("Deu pau jovem: " + ex.Message); } }
public void InserirConteudo(Participante participante, int codigo_participante) { NpgsqlCommand comandoSQL; foreach (string hobbie in participante.Hobbies.Conteudo) { comandoSQL = new NpgsqlCommand("inserir_hobbie", (NpgsqlConnection)conexao); comandoSQL.CommandType = CommandType.StoredProcedure; FabricaParametros.CriarParametrosItem(comandoSQL, hobbie, codigo_participante); comandoSQL.ExecuteNonQuery(); } foreach (string ensinar in participante.Ensinar.Conteudo) { comandoSQL = new NpgsqlCommand("inserir_ensinar", (NpgsqlConnection)conexao); comandoSQL.CommandType = CommandType.StoredProcedure; FabricaParametros.CriarParametrosItem(comandoSQL, ensinar, codigo_participante); comandoSQL.ExecuteNonQuery(); } foreach (string aprender in participante.Aprender.Conteudo) { comandoSQL = new NpgsqlCommand("inserir_aprender", (NpgsqlConnection)conexao); comandoSQL.CommandType = CommandType.StoredProcedure; FabricaParametros.CriarParametrosItem(comandoSQL, aprender, codigo_participante); comandoSQL.ExecuteNonQuery(); } }
public void InserirParticipante(Participante participante) { try { if (Conexao.State == ConnectionState.Closed) { Conexao.Open(); } SqlCommand comandoSql = new SqlCommand("inserir_participante", (SqlConnection)Conexao); comandoSql.CommandType = CommandType.StoredProcedure; FabricaParametros.CriarParametrosParticipante(comandoSql, participante, Campi); //Este parâmetro é exlusivo do SQL server var parametro = comandoSql.CreateParameter(); parametro.DbType = DbType.Int32; parametro.ParameterName = "codigo_participante"; parametro.Direction = ParameterDirection.Output; comandoSql.Parameters.Add(parametro); comandoSql.Prepare(); comandoSql.ExecuteNonQuery(); int codigoParticipante = (int)comandoSql.Parameters["codigo_participante"].Value; InserirConteudo(participante, codigoParticipante); } catch (Exception ex) { Console.Write("Deu pau jovem: " + ex.Message); } }