Primeira página
/
Tecnologia
/
0 código a seguir tem como objetivo retornar todos os autores de um sistema de bibliotecas . Analise-o e então marque a alternativa correta. private List (Autor)getTodos() ( var autores=new Arraylis t<Autor>(is try (var conn =BD.getConn ection()i var start =onn.crez teStatem ent(); var rs=stmt .executeo uery("SE LECT FROM A utor")) f while (rs next()) autores.a dc new Autor (rs.get Int("id Autor -"), rs.getstri ng("nome ") ); ); ) catch (SQ Exception e) { System.exi t(10); return autores; a ) É importante chamar o método close() das variáveis conn, stmt e rs para liberar os recursos do banco de dados Esses comandos deveriam ser adicionados a um bloco finally. b ) As variáveis conn, stmt e rs estão criadas na mesma linha do try pois podem disparar uma SQLException. c ) 0 primeiro autor do banco não será carregado, uma vez que o método next é chamado antes mesmo de se fazer a primeira leitura. d ) Mesmo não havendo um tratamento muito adequado , somos obrigados , a capturar a SQI Exception na linha 13. uma vez que se trata de uma exceção verificada.

Pergunta

0 código a seguir tem como objetivo
retornar todos os autores de um sistema
de bibliotecas . Analise-o e então marque a
alternativa correta.
private List (Autor)getTodos() (
var autores=new Arraylis t<Autor>(is
try (var conn =BD.getConn ection()i
var start =onn.crez teStatem ent();
var rs=stmt .executeo uery("SE LECT FROM A utor"))
f
while (rs next())
autores.a dc
new Autor (rs.get Int("id Autor -"), rs.getstri ng("nome ") );
);
) catch (SQ Exception e) {
System.exi t(10);
return autores;
a ) É importante chamar o método close()
das variáveis conn, stmt e rs para
liberar os recursos do banco de dados
Esses comandos deveriam ser
adicionados a um bloco finally.
b ) As variáveis conn, stmt e rs estão
criadas na mesma linha do try pois
podem disparar uma SQLException.
c ) 0 primeiro autor do banco não será
carregado, uma vez que o método next
é chamado antes mesmo de se fazer a
primeira leitura.
d ) Mesmo não havendo um tratamento
muito adequado , somos obrigados , a
capturar a SQI Exception na linha 13.
uma vez que se trata de uma exceção
verificada.

0 código a seguir tem como objetivo retornar todos os autores de um sistema de bibliotecas . Analise-o e então marque a alternativa correta. private List (Autor)getTodos() ( var autores=new Arraylis t<Autor>(is try (var conn =BD.getConn ection()i var start =onn.crez teStatem ent(); var rs=stmt .executeo uery("SE LECT FROM A utor")) f while (rs next()) autores.a dc new Autor (rs.get Int("id Autor -"), rs.getstri ng("nome ") ); ); ) catch (SQ Exception e) { System.exi t(10); return autores; a ) É importante chamar o método close() das variáveis conn, stmt e rs para liberar os recursos do banco de dados Esses comandos deveriam ser adicionados a um bloco finally. b ) As variáveis conn, stmt e rs estão criadas na mesma linha do try pois podem disparar uma SQLException. c ) 0 primeiro autor do banco não será carregado, uma vez que o método next é chamado antes mesmo de se fazer a primeira leitura. d ) Mesmo não havendo um tratamento muito adequado , somos obrigados , a capturar a SQI Exception na linha 13. uma vez que se trata de uma exceção verificada.

Solução

expert verifiedVerification of experts
3.3264 Voting
avatar
AntónioMestre · Tutor por 5 anos

Responder

alternativa correta é a letra a) É importante chamar o método close() das variáveis conn, stmt e rs para liberar os recursos do banco de dados. Esses comandos deveriam ser adicionados a um bloco finally.

O código fornecido tem a intenção de retornar todos os autores de um sistema de bibliotecas. No entanto, há alguns problemas no código que devem ser corrigidos:

1. A classe 'BD' não está definida no código fornecido, portanto, não é possível determinar se ela é responsável por criar uma conexão com o banco de dados. Se for o caso, o método 'getConnection()' deve ser chamado em uma instância da classe 'BD'.
2. O método 'createStatement()' é usado para criar um objeto 'Statement' que será usado para executar a consulta SQL. No entanto, o método 'createStatement()' deve ser chamado em um objeto 'Connection', portanto, a linha 'var start = conn.createStatement();' deve ser modificada para 'var start = conn.createStatement();'.
3. O método 'executeQuery()' é usado para executar a consulta SQL e retornar um objeto 'ResultSet' que será usado para ler os resultados da consulta. No entanto, o método 'executeQuery()' deve ser chamado em um objeto 'Statement', portanto linha 'var rs = stnt.executeQuery("SELECT FROM Autor");' deve ser modificada para 'var rs = stmt.executeQuery("SELECT FROM Autor");'.
4. O método 'close()' deve ser chamado em cada um dos objetos 'Connection', 'Statement' e 'ResultSet' para liberar os recursos do banco de dados. No entanto, o método 'close()' não é chamado no código fornecido. Para corrigir isso, o método 'close()' deve ser chamado em cada um dos objetos 'conn', 'tmt' e 'rs' dentro de um bloco 'finally' para garantir que eles sejam sempre fechados, mesmo que ocorra uma exceção.

Portanto, a alternativa correta é a letra a) É importante chamar o método close() das variáveis conn, stmt e rs para liberar os recursos do banco de dados. Esses comandos deveriam ser adicionados a um blo.
Clique para avaliar: