FC ConcursosFC Concursos

Questão FC373259

Considere st um objeto do tipo PreparedStatement e conn um objeto do tipo Connection, ambos em condições ideais para a execução do método salvar, de uma classe Java. Nas condições

Linguagens de Programação

FCC · 2022

Considere st um objeto do tipo PreparedStatement e conn um objeto do tipo Connection, ambos em condições ideais para a execução do método salvar, de uma classe Java.

Nas condições apresentadas, para que o método salvar grave as informações do cliente no banco de dados aberto, a lacuna I deve ser corretamente preenchida com a instrução

  1. INSERT INTO cliente VALUES(cpf,nome,endereco,bairro,cidade,telefone,renda)
  2. INSERT INTO cliente VALUES(?,?,?,?,?,?,?)
  3. INSERT INTO cliente (nome,cpf,endereco,bairro,cidade,telefone,renda) VALUES(?,?,?,?,?,?,?)
  4. INSERT INTO cliente VALUES([cpf],[nome],[endereço],[bairro],[cidade],[telefone],[renda])
  5. INSERT TO cliente (cpf,nome,endereco,bairro,cidade,telefone,renda) VALUES(?,?,?,?,?,?,?)
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

A instrução correta é INSERT INTO cliente VALUES(?,?,?,?,?,?,?) porque, ao usar um PreparedStatement, a SQL deve conter marcadores de parâmetro representados por ?. Esses símbolos indicam onde os valores serão vinculados antes da execução.

Ao omitir a lista de colunas, espera-se fornecer valores para todas as colunas da tabela na ordem definida no esquema; portanto, o número de ? deve coincidir com a quantidade de colunas.

No código Java, cria-se o prepared statement (por exemplo com conn.prepareStatement(sql)), atribui-se cada valor usando métodos como setString, setInt etc. (índices iniciam em 1) e, finalmente, chama-se executeUpdate para gravar os dados.

Essa abordagem evita concatenação de SQL, melhora desempenho e reduz risco de injeção de SQL.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo