Questão FC373262
Considere o bloco de código, abaixo, presente um uma aplicação Java, em condições ideais. String driver, url, usuario, senha, sql; Connection conecta; PreparedStatement st; driver
Linguagens de Programação
FCC · 2022
Considere o bloco de código, abaixo, presente um uma aplicação Java, em condições ideais.
String driver, url, usuario, senha, sql;
Connection conecta;
PreparedStatement st; driver = "com.mysql.cj.jdbc.Driver";
url = "jdbc:mysql://localhost:3306/bd";
usuario = "root";
senha = "aB12c56DY";
sql = "SELECT * FROM users WHERE usuario=? AND senha=?";
Class.forName(driver);
conecta = DriverManager.getConnection(url,usuario,senha);
st = conecta.prepareStatement(sql);
st.setString(1, txtUsuario.getText());
st.setString(2, pswSenha.getText());
Para executar o comando SQL SELECT na tabela users do banco de dados bd e armazenar o retorno em rs deve-se utilizar, na próxima linha do bloco de código, o comando
- RecordSet rs = st.executeSelect();
- ResultSet rs = st.executeQuery();
- ResultSet rs = st.execute();
- ResultSet rs = st.executeSelect();
- RecordSet rs = st.executeQuery();
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
A linha correta ResultSet rs = st.executeQuery(); executa a consulta SQL preparada em st e retorna um objeto ResultSet contendo as linhas do SELECT.
Como st é um PreparedStatement com parâmetros já ajustados via setString, chama-se executeQuery() sem argumentos — o comando compilado será enviado ao banco e o resultado será recebido em rs.
O ResultSet permite iterar pelos registros (ex.: while (rs.next())) e obter colunas por nome ou índice. Lembre-se de tratar exceções (SQLException) e fechar recursos (rs, st, conecta) após o uso para evitar vazamentos de conexão.
Conteúdo do catálogo FC Concursos · Atualizado em