Atualização de linha de código

contra um banco de dados que podemos Execue diferentes tipos de instruções, a partir de uma simples consulta, através de inserções de massa, até uma declaração que aumenta as permissões de um grupo de usuários.

Mas agora vamos nos concentrar nas consultas (selecionar) com Java JDBC. Esses tipos de instruções os usarão para recuperar um conjunto de dados do banco de dados. Neles normais, é selecionar um conjunto de campos de uma tabela e mostrar-lhes na tela.

claro é que quando deixamos o exemplo básico da tabela de 10 grava e enfrentamos tabelas de milhões e milhões de dados, devemos, vamos, seria bastante aconselhável, realizar algum tipo de filtro. Eu acho que qualquer gerenciador de banco de dados pode alcançar suas mãos conosco se tivermos uma consulta sobre uma tabela de cliente se não incluirmos nenhum filtro. Agora, que, se apenas filtrados pela cidade igual a “Ávila”, acho também.

Bem, o que vamos. Temos maneiras diferentes de realizar filtros em uma consulta. A primeira abordagem é codificar diretamente os valores na sentença. Algo como …

SELECT nombre, edad, profesión, ciudadFROM personasWHERE ciudad = 'Ávila'AND edad BETWEEN 24 AND 32

Esse sim, vamos esperar que nosso chefe não nos diga que ele quer um relatório onde introduz uma cidade e duas idades que tomamos O conjunto de pessoas que eles atendem a esses requisitos.

A se, como estamos muito previstos, montamos a próxima consulta onde os parâmetros vão passar variáveis. Ficar algo assim …

String sCiudad, sEdad1, sEdad2;String sSQL = "SELECT nombre, edad, profesión, ciudad FROM personas WHERE ciudad = '" + sCiudad + "' AND edad BETWEEN " + sEdad1 + " AND " + sEdad1 + ";"

Porque este é um dos maiores erros que podemos fazer e é que a concatenação das cadeias pode levar ao seguinte ( Se não tomarmos as precauções necessárias e, se acontecer, temos um pequeno usuário alarmado).

sCiudad = "Avila";sEdad1 = "20";sEdad2 = "28; DELETE FROM cuentas";

continua a executar a seguinte consulta:

SELECT nombre, edad, profesión, ciudadFROM personasWHERE ciudad = 'Ávila'AND edad BETWEEN 24 AND 32;DELETE FROM cuentas

e acho que é se você não vai gostar de nosso chefe alguma coisa.

digamos que este é um caso excepcional e isso não deve ocorrer. É conhecido como injeção de código SQL. Mesmo assim, a maneira mais correta de fazer isso seria inserindo parâmetros.

Inicialmente, em Java JDBC, devemos colocar um interrogatório em cada site onde queremos colocar um valor dinamicamente. Em seguida, substituiremos cada interrogatório por um valor usando o método SetXXX da participação. Onde xxx será o tipo de valor que queremos inserir: string, int, data, … então teremos setstring, starint, stararray, setbyte, …

Como saber por que a interrogação substitui O valor que? Bem, porque, o primeiro parâmetro do método é o número da pergunta a ser substituído (começando com 1).

stmt = con.prepareStatement("SELECT nombre, edad, profesion, ciudad FROM Personas WHERE edad > ? AND ciudad = ?");stmt.setInt(1,25);stmt.setString(2,"Salamanca");
19 compartilham

Leave a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *