1
resposta

Mão na massa: incluindo os métodos Atualizar e Deletar

public void Atualizar(string nome, string bio, int id)
{
    var connection = new Connection().ObterConexao();
    connection.Open();

    var sql = "UPDATE Artistas SET Nome = @nome, Bio = @bio WHERE Id = @id";

    SqlCommand command = new SqlCommand(sql, connection);
    command.Parameters.AddWithValue("@nome", nome);
    command.Parameters.AddWithValue("@bio", bio);
    command.Parameters.AddWithValue("@id", id);

    int retorno = command.ExecuteNonQuery();
    Console.WriteLine($"Linhas afetadas pós-atualização: {retorno}");
}
public void Deletar(int id)
{
    var connection = new Connection().ObterConexao();
    connection.Open();

    var sql = "DELETE FROM Artistas WHERE Id = @id";

    SqlCommand command = new SqlCommand(sql, connection);
    command.Parameters.AddWithValue("@id", id);

    int retorno = command.ExecuteNonQuery();
    Console.WriteLine($"Linhas afetadas pós-exclusão: {retorno}");
}
1 resposta

Oii, Paulo. Tudo bem?

É muito bom ver que você aplicou a lógica dos comandos SQL diretamente no código C# para manipular os registros no banco de dados. Seus métodos Atualizar e Deletar estão bem estruturados e seguem corretamente a proposta do exercício.

Pontos positivos da sua implementação:

  • Uso de parâmetros: Você utilizou @nome, @bio e @id. Isso protege a aplicação contra ataques de SQL Injection, que ocorrem quando valores externos são concatenados diretamente na string SQL.
  • ExecuteNonQuery: Esse comando é a escolha certa para operações de atualização e exclusão, pois ele retorna apenas o número de linhas que foram modificadas no banco.
  • Assinatura dos métodos: Ao passar string nome, string bio e int id individualmente, você deixou o método direto. A versão do instrutor utiliza o objeto Artista artista, o que também é uma prática comum para manter os dados agrupados.

Continue praticando, pois essa base de ADO.NET ajuda muito a entender o que acontece "por baixo dos panos" quando você começar a usar o Entity Framework Core de forma mais automatizada.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!