Questão nº 42

Questão de Engenharia de Software · FCC TST 2017 (nº 42)

FCC2017Analista Judiciário - Análise de SistemasEngenharia de Software
Gabarito: Bver comentário ↓

Considere o fragmento de código abaixo, de uma classe em uma aplicação Java SE ideal.

```java
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/tst", "oper01", "a456B7F");
PreparedStatement st = conn.prepareStatement("DELETE FROM colaborador WHERE matricula = ?");
st.setInt(1, 10016);
```

Para executar o comando DELETE da linguagem SQL a próxima instrução do fragmento de código deverá ser

Resposta comentada

Gabarito Alternativa B

No JDBC, para interagir com um banco de dados, usamos um objeto PreparedStatement para enviar comandos SQL. A escolha do método para executar esse comando depende do tipo de operação SQL que você está realizando: se é uma consulta que retorna dados (SELECT) ou uma modificação que altera o estado do banco (INSERT, UPDATE, DELETE).

  • (A) Incorreta: st é um objeto PreparedStatement, não um campo da Connection. A sintaxe conn.st.execute() está incorreta.
  • (B) Correta: O método executeUpdate() é o padrão para executar comandos SQL que modificam o banco de dados, como INSERT, UPDATE e DELETE. Ele retorna um int indicando o número de linhas afetadas pela operação.
  • (C) Incorreta: O método execute() da Connection geralmente recebe uma String SQL diretamente, não um objeto PreparedStatement. A execução do PreparedStatement é feita através de seus próprios métodos.
  • (D) Incorreta: executeDelete() não é um método padrão da API JDBC para PreparedStatement.
  • (E) Incorreta: executeQuery() é usado exclusivamente para comandos SELECT que retornam um conjunto de resultados (ResultSet). Usá-lo para um DELETE resultaria em uma exceção, pois DELETE não retorna dados, apenas modifica o banco. Armadilha: Embora DELETE seja uma "execução" de um comando, o termo "Query" em executeQuery se refere especificamente a "consultar" dados, o que não é o caso de um DELETE.

Fonte: FCC TST 2017 Analista Judiciário - Análise de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho