Baixe o app para aproveitar ainda mais
Prévia do material em texto
Local: Sala 1 - Sala de Aula / Andar / Polo Nova Iguaçu / POLO NOVA IGUAÇU - RJ Acadêmico: EAD-IL10329-20223A Aluno: YURI DE LEMOS ANTUNES RIBEIRO Avaliação: A2- Matrícula: 20203301618 Data: 23 de Setembro de 2022 - 08:00 Finalizado Correto Incorreto Anulada Discursiva Objetiva Total: 10,00/10,00 1 Código: 38256 - Enunciado: No desenvolvimento de aplicações a partir da linguagem Java, os tipos básicos são usados para definir as características de um objeto. Sabemos ainda que podemos utilizar a Agregação para permitir a criação de objetos a partir de outros objetos. Em algumas situações, tal como no uso conjunto com ArrayList, os tipos básicos primitivos não podem ser usados, e, para isso, recorremos às classes Wrapper.Indique, dentre as opções a seguir, aquela que apresenta corretamente os relacionamentos entre os tipos básicos primitivos e sua classe Wrapper correspondente: a) int : Integer e char : String. b) int : Int e char : Character. c) int : Int e char : String. d) int : Int e char : Char. e) int : Integer e char : Character. Alternativa marcada: e) int : Integer e char : Character. Justificativa: Resposta correta:int : Integer e char : Character. Correta. O tipo básico primitivo int tem como classe Wrapper correspondente a classe Integer e o tipo básico primitivo char tem correspondência com a classe Wrapper Character. Distratores:int : Int e char : Char. Incorreta. O tipo básico primitivo int tem como classe Wrapper correspondente a classe Integer, assim como a segunda declaração também é incorreta, uma vez que o tipo básico primitivo char tem como classe Wrapper correspondente a classe Character.int : Int e char : Character. Incorreta. O tipo básico primitivo int tem como classe Wrapper correspondente a classe Integer, apesar de a segunda declaração estar correta, pois o tipo básico primitivo char tem como classe Wrapper correspondente a classe Character.int : Integer e char : String. Incorreta. Apesar do tipo básico primitivo int ter como classe Wrapper correspondente a classe Integer, o tipo básico primitivo char tem como classe Wrapper correspondente a classe Character. Uma vez que o tipo String é um tipo básico também, mas não é um tipo básico primitivo, o tipo String não faz parte do conjunto de classes Wrapper.int : Int e char : String. Incorreta. O tipo básico primitivo int tem como classe Wrapper correspondente a classe Integer. Já o tipo básico primitivo char tem como classe Wrapper correspondente a classe Character. Uma vez que o tipo String é um tipo básico também, mas não é um tipo básico primitivo, o tipo String não faz parte do conjunto de classes Wrapper. 0,50/ 0,50 2 Código: 38319 - Enunciado: No desenvolvimento de aplicações em Java muitas vezes precisamos armazenar coleções de dados na memória em estruturas adequadas para a recuperação eficiente desses dados. Para as diferentes formas de armazenamento destes dados em memória, a linguagem Java disponibiliza três tipos de armazenamento, entre conjuntos, listas e associações.Identifique, dentre as opções a seguir, a classe de coleção Java adequada para a implementação de uma fila ou pilha: a) HashSet. 0,50/ 0,50 Ilumno http://ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandi... 1 of 8 28/09/2022 22:05 b) LinkedList. c) Vector. d) LinkedHashSet. e) ArrayList. Alternativa marcada: b) LinkedList. Justificativa: Resposta correta:LinkedList. Correta. A classe LinkedList é semelhante a um ArrayList, mas, por ser duplamente encadeada, a classe LinkedList se torna essencial para a implementação de estruturas de dados dos tipos filas e pilhas. Distratores:ArrayList. Incorreta. A classe Arraylist, apesar de ser adequada para o armazenamento de dados na forma de listas, por não ser duplamente encadeada não é adequada para o uso na implementação de estruturas de dados dos tipos filas e pilhas.Vector. Incorreta. A classe Vector, apesar de ser adequada para o armazenamento de dados na forma de listas, possui métodos sincronizados, o que pode comprometer a eficiência, além de também não ser duplamente encadeada. Essa classe não é adequada para o uso na implementação de estruturas de dados dos tipos filas e pilhas.HashSet. Incorreta. A classe Hashset é adequada para o armazenamento de dados na forma de conjuntos e não de listas, uma vez que estruturas de dados dos tipos filas e pilhas são tipos de filas.LinkedHashSet. Incorreta. A classe LinkedHashset é adequada para o armazenamento de dados na forma de conjuntos e é duplamente encadeada, permitindo acesso rápido ao elemento anterior e posterior, mas essa classe não é adequada para armazenar dados na forma de listas. 3 Código: 38254 - Enunciado: Quanto à aplicação dos conceitos de Programação Orientada a Objetos no desenvolvimento de sistemas, o conceito de agregação permite que possamos criar novos objetos a partir de outros objetos mais simples. Identifique, entre as declarações de atributos para uma classe qualquer, aquela que caracteriza uma declaração de Agregação: a) int quantidade. b) String nome. c) Tampa tampa. d) Double valor. e) double preco. Alternativa marcada: c) Tampa tampa. Justificativa: Resposta correta:Tampa tampa. Correta. A declaração de um atributo como sendo do tipo "Tampa" em uma classe indica que o objeto tampa será uma Agregação. Distratores:double preco. Errada. O atributo "preco" foi declarado a partir de um tipo básico "double", não caracterizando uma classe que defina um outro objeto. Para que um atributo seja considerado uma Agregação, este deve ser do tipo de uma classe que defina as características de outro objeto.int quantidade. Errada. O atributo "quantidade" foi declarado a partir de um tipo básico "int", não caracterizando uma classe que defina um outro objeto. Para que um atributo seja considerado uma Agregação, este deve ser do tipo de uma classe que defina as características de outro objeto.String nome. Errada. O atributo "nome" foi declarado a partir de um tipo básico "String", não caracterizando uma classe que defina um outro objeto. O tipo "String", apesar de ser considerado uma classe, serve apenas para armazenar uma cadeia de caracteres (texto) de forma genérica. Para que um atributo seja considerado uma Agregação, este deve ser do tipo de uma classe que defina as características de outro objeto.Double valor. Errada. O atributo "valor" foi 0,50/ 0,50 Ilumno http://ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandi... 2 of 8 28/09/2022 22:05 declarado a partir da classe "Wrapper Double", não caracterizando uma classe que defina um outro objeto, mas sim a representação de apenas um valor "double" de forma genérica, para uso em situações em que não possamos usar tipos básicos, assim como no uso conjunto com "ArrayList". O tipo "Double", apesar de ser considerado uma classe, serve apenas para armazenar um valor real. Para que um atributo seja considerado uma Agregação, este deve ser do tipo de uma classe que defina as características de outro objeto. 4 Código: 38372 - Enunciado: Ao desenvolver sistemas baseados em programação orientada a objetos, devemos seguir uma série de conceitos para termos um melhor aproveitamento dos recursos e maior facilidade de manutenção. A seguir são apresentadas algumas afirmações a respeito dos conceitos de programação orientada a objetos em Java. Analise cada afirmação apresentada para determinar aquelas que são verdadeiras:I - O Particionamento permite que as características de um objeto possam ser divididas em objetos menores e mais simples, que possam ser Agregados de forma a recriar o objeto original.II - A Agregação permite que uma classe possa herdar os membros de uma outra classe. III - Na Composição ou Agregação por Composição os objetos Agregados são instanciados na própria classe que as agrega.IV - Na Agregação Compartilhada os objetos agregados da classe são destruídos, caso o objeto da classe principal seja destruído. São verdadeiras as afirmações que se apresentam em: a) II e IV, apenas. b) I e IV,apenas. c) I e III, apenas. d) I e II, apenas. e) II e III, apenas. Alternativa marcada: c) I e III, apenas. Justificativa: Resposta correta:I e III, apenas. I - O Particionamento permite que as características de um objeto possam ser divididas em objetos menores e mais simples, que possam ser Agregados de forma a recriar o objeto original. Correta. Este é o objetivo principal da Agregação.III - Na Composição ou Agregação por Composição os objetos Agregados são instanciados na própria classe que as agrega. Correta. Neste tipo de Agregação os objetos agregados são destruídos juntos quando o objeto da classe principal é destruído e por isso são instanciados na classe principal. Distratores:II - A Agregação permite que uma classe possa herdar os membros de uma outra classe. Errada. Este é o objetivo da Herança e não da Agregação.IV - Na Agregação Compartilhada os objetos agregados da classe são destruídos, caso o objeto da classe principal seja destruído. Errada. Neste tipo de Agregação os objetos agregados não são destruídos juntos quando o objeto da classe principal é destruído, e, dessa forma, os objetos agregados não são instanciados na classe principal, mas passados como parâmetros em outros métodos. 1,50/ 1,50 5 Código: 38336 - Enunciado: No uso de coleções de dados em Java podemos trabalhar com dados em memória na forma de listas, conjuntos e associações. Para a implementação de coleções de dados, a biblioteca da linguagem Java disponibiliza um conjunto de classes prontas que podem ser utilizadas em nossos projetos. Analise as afirmações acerca do uso de coleções de dados apresentadas a seguir, definindo aquelas que são consideradas verdadeiras. As classes que implementam a interface List trabalham com um índice, com isso podemos inserir um item no meio ou no final de uma lista.A classe Vector tem as mesmas características de ArrayList, porém 1,50/ 1,50 Ilumno http://ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandi... 3 of 8 28/09/2022 22:05 seus métodos são sincronizados e, por esta razão, o seu uso não influencia no tempo de execução.A classe Hashtable é equivalente à classe HashMap, com a diferença que seus métodos são sincronizados e faz parte do conjunto de classes que manipulam dados na forma de lista.A classe LinkedList é essencial quando se deseja implementar uma fila ou pilha. Estão corretas as afirmações: a) I e IV, apenas. b) II e IV, apenas. c) I e II, apenas. d) I e III, apenas. e) II e III, apenas. Alternativa marcada: a) I e IV, apenas. Justificativa: Resposta correta:I e IV, apenas. I. As classes que implementam a interface List trabalham com um índice, com isso podemos inserir um item no meio ou no final de uma lista. Correta. As classes do tipo List podem inserir elementos em qualquer lugar da lista.IV. A classe LinkedList é essencial quando se deseja implementar uma fila ou pilha. Correta. A classe LinkedList é duplamente encadeada, e, desta forma, é considerada ideal para a implementação de estruturas de dados do tipo fila ou pilha. Distratores:II. A classe Vector tem as mesmas características de ArrayList, porém seus métodos são sincronizados e, por esta razão, o seu uso não influencia no tempo de execução. Incorreta. A classe Vector possui as mesmas características da classe ArrayList e possui métodos sincronizados, mas, por ter seus métodos sincronizados, faz com que o tempo de sincronização influencie o tempo de interação dos elementos, gastando um pouco mais de tempo de execução.III. A classe Hashtable é equivalente à classe HashMap, com a diferença que seus métodos são sincronizados e faz parte do conjunto de classes que manipulam dados na forma de lista. Incorreta. É correto que a classe Hashtable é equivalente à classe HashMap e que seus métodos são sincronizados, mas esta classe não faz parte do conjunto de classes que manipulam dados na forma de lista, sendo uma classe do conjunto que manipula dados por associação. 6 Código: 38361 - Enunciado: No desenvolvimento de aplicações em Java com uso de interfaces gráficas para a interação com o usuário, a entrada de dados digitados pelo usuário deve ser realizada por caixas de textos (TextField), independentemente se os valores digitados deverão ser do tipo texto ou numérico. Isso ocorre porque não temos caixas de números, mas com o uso de caixas de textos, os valores numéricos poderão ter o seu conteúdo convertido para o tipo numérico adequado. Em um projeto é necessário receber como entrada de dados o nome, a idade e o CR de um aluno. Os componentes de tela foram respectivamente identificados por: edit1, edit2 e edit3. Analise as codificações apresentadas a seguir e selecione aquela que atenderá corretamente as necessidades do projeto, para receber os dados de entrada da tela nas devidas variáveis, em função do tipo de dado de entrada e do método de leitura do componente: a) String nome = edit1.setText().toString(); int idade = Integer.parseInt(edit2.setText().toString()); double peso = Double.parseDouble(edit3.setText().toString()); b) String nome = edit1.getText().toString(); int idade = edit2.getText().toString(); double peso = edit3.getText().toString(); c) String nome = ed1.getText().toString(); int idade = Integer.parseInt(ed2.getText().toString()); double peso = Double.parseDouble(ed3.getText().toString()); d) String nome = edit1.getText().toString(); int idade = 1,50/ 1,50 Ilumno http://ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandi... 4 of 8 28/09/2022 22:05 Number.parseNumber(edit2.getText().toString()); double peso = Number.parseNumber(edit3.getText().toString()); e) String nome = edit1.setText().toString(); int idade = Number.parseNumber(edit2.setText().toString()); double peso = Number.parseNumber(edit3.setText().toString()); Alternativa marcada: c) String nome = ed1.getText().toString(); int idade = Integer.parseInt(ed2.getText().toString()); double peso = Double.parseDouble(ed3.getText().toString()); Justificativa: Resposta correta: String nome = ed1.getText().toString(); int idade = Integer.parseInt(ed2.getText().toString()); double peso = Double.parseDouble(ed3.getText().toString());Correta. Dados do tipo texto não necessitam de conversão, já que um EditText é utilizado para digitação de textos. Dados do tipo numérico necessitam de conversão, sendo que para int, utilizamos o método Integer.parseInt() e para double devemos usar o método Double.parseDouble(). É importante também utilizar o método correto para leitura do dado no componente, no caso o getText(). Distratores: String nome = edit1.getText().toString(); int idade = edit2.getText().toString(); double peso = edit3.getText().toString();Incorreta. Nesta opção, não foram realizadas as conversões de tipo texto (textField) para os tipos numéricos adequados. Já o método de obtenção dos dados nos componentes está correto ao se utilizar o método getText(). String nome = edit1.setText().toString(); int idade = Number.parseNumber(edit2.setText().toString()); double peso = Number.parseNumber(edit3.setText().toString());Incorreta. Nesta opção, existe uma tentativa de realizar as conversões de tipo texto (TextField) para os tipos numéricos adequados, mas o uso do método Number.parseNumber() para ambos os casos não está correto. Além disso, o método de obtenção dos dados nos componentes não está correto ao se utilizar o método setText(). String nome = edit1.setText().toString(); int idade = Integer.parseInt(edit2.setText().toString()); double peso = Double.parseDouble(edit3.setText().toString());Incorreta. Nesta opção, as conversões de tipo texto (TextField) para os tipos numéricos adequados está correta ao se utilizar os métodos Integer.parseInt() e Double.parseDouble(), mas o método de obtenção dos dados nos componentes não está correto ao se utilizar o método setText(). String nome = edit1.getText().toString(); int idade = Number.parseNumber(edit2.getText().toString()); double peso = Number.parseNumber(edit3.getText().toString());Incorreta.Nesta opção, existe uma tentativa de realizar as conversões de tipo texto (TextField) para os tipos numéricos adequados, mas o uso do método Number.parseNumber() para ambos os casos não está correto. Já o método de obtenção dos dados nos componentes está correto ao se utilizar o método getText(). 7 Código: 38369 - Enunciado: Uma equipe de projeto está participando do desenvolvimento de um sistema de informação para uma empresa cliente. Você é um dos desenvolvedores e necessita criar um método para a alteração de dados de um determinado cliente. A tabela Clientes é baseada na classe Cliente. A classe Cliente e a tabela Clientes possuem os seguintes atributos: AtributoTipoidInteironomeTextocpfInteirodescontoReal Sabe-se que o atributo id é um campo autoincrementado da tabela, que a classe Cliente possui todos os métodos de acesso implementados e que os dados do cliente a ser alterado foram passados por parâmetro a partir do objeto cliente.Compare e avalie, dentre as opções a seguir, aquela que apresenta corretamente a codificação da preparação e execução da consulta na tabela Clientes da base de dados para a alteração do cliente selecionado: a) String consulta = "UPDATE Clientes SET id = " + cliente.getId() + ", nome='" + cliente.getNome() + "', cpf=" + cliente.getCpf() + ", desconto=" + 2,00/ 2,00 Ilumno http://ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandi... 5 of 8 28/09/2022 22:05 cliente.getDesconto();Statement st = acesso.con.createStatement();st.executeUpdate(consulta); b) String consulta = "UPDATE Clientes SET ", nome='" + cliente.getNome() + "', cpf=" + cliente.getCpf() + ", desconto=" + cliente.getDesconto() + " WHERE id=" + cliente.getId();Statement st = acesso.con.createStatement();st.executeQuery(consulta); c) ResultSet rs; String consulta = "UPDATE Clientes SET id = " + cliente.getId() + ", nome='" + cliente.getNome() + "', cpf=" + cliente.getCpf() + ", desconto=" + cliente.getDesconto();Statement st = acesso.con.createStatement();rs = st.executeQuery(consulta); d) String consulta = "UPDATE Clientes SET ", nome='" + cliente.getNome() + "', cpf=" + cliente.getCpf() + ", desconto=" + cliente.getDesconto() + " WHERE id=" + cliente.getId();Statement st = acesso.con.createStatement();st.executeUpdate(consulta); e) String consulta = "UPDATE Clientes SET id = " + cliente.getId() + ", nome='" + cliente.getNome() + "', cpf=" + cliente.getCpf() + ", desconto=" + cliente.getDesconto();Statement st = acesso.con.createStatement();st.executeQuery(consulta); Alternativa marcada: d) String consulta = "UPDATE Clientes SET ", nome='" + cliente.getNome() + "', cpf=" + cliente.getCpf() + ", desconto=" + cliente.getDesconto() + " WHERE id=" + cliente.getId();Statement st = acesso.con.createStatement();st.executeUpdate(consulta); Justificativa: Resposta correta:String consulta = "UPDATE Clientes SET ", nome='" + cliente.getNome() + "', cpf=" + cliente.getCpf() + ", desconto=" + cliente.getDesconto() + " WHERE id=" + cliente.getId();Statement st = acesso.con.createStatement();st.executeUpdate(consulta);Correta. Para a alteração de um determinado cliente, é necessário definir, a partir da cláusula WHERE, o id específico, caso contrário, a falta desta identificação fará com que a aplicação tente alterar todos os registros da tabela. Para a manipulação de registros da tabela (Inclusão, Exclusão e Alteração) é correto utilizar o método executeUpdate() e não o método executeQuery(), que é responsável por buscar registros nas tabelas. Distratores:String consulta = "UPDATE Clientes SET id = " + cliente.getId() + ", nome='" + cliente.getNome() + "', cpf=" + cliente.getCpf() + ", desconto=" + cliente.getDesconto();Statement st = acesso.con.createStatement();st.executeQuery(consulta);Incorreta. Esta opção está incorreta porque a cláusula WHERE não foi utilizada, portanto esta consulta irá tentar alterar todos os registros da tabela e não um registro específico. Além disso, foi utilizado o método de execução executeQuery(), que é usado para realizar consultas de busca na base de dados e não para manipulação (executeUpdate()), como é o caso da alteração. String consulta = "UPDATE Clientes SET id = " + cliente.getId() + ", nome='" + cliente.getNome() + "', cpf=" + cliente.getCpf() + ", desconto=" + cliente.getDesconto();Statement st = acesso.con.createStatement();st.executeUpdate(consulta);Incorreta. Esta opção está incorreta porque a cláusula WHERE não foi utilizada, portanto esta consulta irá tentar alterar todos os registros da tabela e não um registro específico. Já o método de execução utilizado está correto, uma vez que, para a manipulação de registros da tabela (Inclusão, Exclusão e Alteração), é correto utilizar o método executeUpdate() e não o método executeQuery(), que é responsável por buscar registros nas tabelas. String consulta = "UPDATE Clientes SET ", nome='" + cliente.getNome() + "', cpf=" + cliente.getCpf() + ", desconto=" + cliente.getDesconto() + " WHERE id=" + cliente.getId();Statement st = acesso.con.createStatement();st.executeQuery(consulta);Incorreta. Nesta opção a construção da consulta está correta, mas o método de execução executeQuery() é usado para realizar consultas de busca na base de dados e não para manipulação (executeUpdate()), como é o caso da alteração. ResultSet rs; String consulta = "UPDATE Clientes SET id = " + cliente.getId() + ", nome='" + cliente.getNome() + "', cpf=" + cliente.getCpf() + ", desconto=" + Ilumno http://ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandi... 6 of 8 28/09/2022 22:05 cliente.getDesconto();Statement st = acesso.con.createStatement();rs = st.executeQuery(consulta);Incorreta. Esta opção está incorreta porque, para a exclusão de um determinado cliente, é necessário definir, a partir da cláusula WHERE, o id específico, caso contrário, a falta desta cláusula fará com que a aplicação tente alterar todos os registros da tabela. Além disso, o método de execução executeQuery() é usado para realizar consultas de busca na base de dados e retornar o resultado da busca a um RecordSet e não para manipulação (executeUpdate()), como é o caso da alteração. 8 Código: 38365 - Enunciado: Uma empresa necessita incluir em seu sistema de informação, um método para a inclusão de novos clientes em sua tabela de Clientes. A tabela Clientes é baseada na classe Cliente. A classe Cliente e a tabela Clientes, possuem os seguintes atributos: AtributoTipoidInteironomeTextocpfInteirodescontoReal Sabe-se que o atributo id é um campo autoincrementado da tabela, que a classe Cliente possui todos os métodos de acesso implementados e que os dados do novo cliente foram passados por parâmetro a partir do objeto cliente.Compare e avalie, dentre as opções a seguir, aquela que apresenta corretamente a codificação da preparação e execução da consulta na tabela Clientes da base de dados para a inclusão de um novo cliente: a) String consulta = "INSERT into Clientes (nome, cpf, desconto) " + "VALUES('" + cliente.getNome() + "'," + aluno.getCpf() + "," + aluno.getDesconto() + ")";Statement st = acesso.con.createStatement();st.executeQuery(consulta); b) String consulta = "INSERT into Clientes (nome, cpf, desconto) " + "VALUES('" + cliente.getNome() + "'," + aluno.getCpf() + "," + aluno.getDesconto() + ")";Statement st = acesso.con.createStatement();st.executeUpdate(consulta); c) String consulta = "INSERT into Clientes (id, nome, cpf, desconto) " + "VALUES(" + cliente.getId() + ",'" + cliente.getNome() + "'," + aluno.getCpf() + "," + aluno.getDesconto() + ")";Statement st = acesso.con.createStatement();st.executeUpdate(consulta); d) ResultSet rs; String consulta = "INSERT into Clientes (nome, cpf, desconto) " + "VALUES('" + cliente.getNome() +"'," + aluno.getCpf() + "," + aluno.getDesconto() + ")";Statement st = acesso.con.createStatement();rs = st.executeUpdate(consulta); e) String consulta = "INSERT into Clientes (id, nome, cpf, desconto) " + "VALUES(" + cliente.getId() + ",'" + cliente.getNome() + "'," + aluno.getCpf() + "," + aluno.getDesconto() + ")";Statement st = acesso.con.createStatement();st.executeQuery(consulta); Alternativa marcada: b) String consulta = "INSERT into Clientes (nome, cpf, desconto) " + "VALUES('" + cliente.getNome() + "'," + aluno.getCpf() + "," + aluno.getDesconto() + ")";Statement st = acesso.con.createStatement();st.executeUpdate(consulta); Justificativa: Resposta correta:String consulta = "INSERT into Clientes (nome, cpf, desconto) " + "VALUES('" + cliente.getNome() + "'," + aluno.getCpf() + "," + aluno.getDesconto() + ")";Statement st = acesso.con.createStatement();st.executeUpdate(consulta);Correta. Como o campo id é autoincrementado, não devemos realizar a inclusão deste valor, pois o SGBD irá gerá- lo automaticamente. O método de execução correto para manipulações em bases de dados é o executeUpdate(), que realiza operações de inclusão, exclusão e alteração. Distratores:String consulta = "INSERT into Clientes (id, nome, cpf, desconto) " + "VALUES(" + cliente.getId() + ",'" + cliente.getNome() + "'," + aluno.getCpf() + "," + aluno.getDesconto() + ")";Statement st = acesso.con.createStatement();st.executeUpdate(consulta);Incorreta. Como o campo id é autoincrementado, não devemos realizar a inclusão deste valor, pois o SGBD irá gerá- lo automaticamente. O método de execução executeUpdate() está correto, pois é o método usado para realizar manipulações em bases de dados para a inclusão. 2,00/ 2,00 Ilumno http://ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandi... 7 of 8 28/09/2022 22:05 String consulta = "INSERT into Clientes (nome, cpf, desconto) " + "VALUES('" + cliente.getNome() + "'," + aluno.getCpf() + "," + aluno.getDesconto() + ")";Statement st = acesso.con.createStatement();st.executeQuery(consulta);Incorreta. Como o campo id é autoincrementado, a consulta está correta ao não realizar a inclusão deste valor, pois o SGBD irá gerá-lo automaticamente, mas o método de execução executeQuery() é usado para realizar consultas de busca na base de dados e não para manipulação, como é o caso da inclusão. String consulta = "INSERT into Clientes (id, nome, cpf, desconto) " + "VALUES(" + cliente.getId() + ",'" + cliente.getNome() + "'," + aluno.getCpf() + "," + aluno.getDesconto() + ")";Statement st = acesso.con.createStatement();st.executeQuery(consulta);Incorreta. Como o campo id é autoincrementado, não devemos realizar a inclusão deste valor, pois o SGBD irá gerá- lo automaticamente. Além disso, o método de execução executeQuery() é usado para realizar consultas de busca na base de dados e não para manipulação, como é o caso da inclusão. ResultSet rs; String consulta = "INSERT into Clientes (nome, cpf, desconto) " + "VALUES('" + cliente.getNome() + "'," + aluno.getCpf() + "," + aluno.getDesconto() + ")";Statement st = acesso.con.createStatement();rs = st.executeUpdate(consulta);Incorreta. Como o campo id é autoincrementado, a consulta não realiza a inclusão deste valor, pois o SGBD irá gerá-lo automaticamente. O método de execução executeUpdate() está correto, pois é o método usado para realizar manipulações em bases de dados. Já a execução da consulta de manipulação retorna para armazenamento em um RecordSet, o que não deve ser feito, pois o RecordSet é usado para armazenar resultados de consultas de busca com o método executeQuery(). Ilumno http://ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandi... 8 of 8 28/09/2022 22:05
Compartilhar