Alternativa C - executeUpdate
A questão aborda o uso da API JDBC (Java Database Connectivity) para interação com bancos de dados através da linguagem SQL. Para responder corretamente, é necessário distinguir os tipos de comandos SQL e os métodos correspondentes no Java.
Contexto Técnico
No JDBC, existem três principais formas de executar instruções SQL dependendo do objetivo da operação:
- Comandos de Seleção (DQL): Comandos como
SELECT recuperam dados. O método utilizado é executeQuery(), que retorna um objeto ResultSet. - Comandos de Manipulação (DML): Comandos como
INSERT, UPDATE e DELETE alteram o conteúdo do banco. O método utilizado é executeUpdate(). - Comandos Gerais: O método
execute() pode ser usado para qualquer tipo, mas é menos específico.
Análise Detalhada
Para efetivar um comando DML (Data Manipulation Language), como Insert ou Delete, o Java precisa saber que queremos alterar dados e não apenas lê-los.
- Método
executeUpdate(): É o método correto para operações de escrita/alteração. Ele executa a instrução SQL e retorna um valor inteiro (int) representando o número de linhas afetadas (ex: quantos registros foram inseridos ou deletados).
Vamos analisar por que as outras alternativas estão incorretas neste contexto específico:
| Opção | Função Real | Por que não é a resposta? |
|---|
A prepareStatement | Prepara uma instrução SQL pré-compilada. | Cria o objeto de execução, mas não executa a alteração imediatamente. Você ainda precisaria chamar executeUpdate nele. |
B forName | Carrega dinamicamente uma classe (geralmente o Driver). | Usado para inicializar a conexão (Class.forName(...)), não para executar SQL. |
D getConnection | Estabelece a conexão com o banco de dados. | É o primeiro passo para acessar o banco, não para enviar comandos SQL específicos. |
Conclusão
Quando desejamos realizar uma modificação nos dados armazenados (como adicionar um novo registro com INSERT ou remover um com DELETE), utilizamos o método executeUpdate associado à instrução SQL preparada.
Portanto, a alternativa correta é a C.