Cursos / Informática para Internet / Banco de dados / Aula

arrow_back Aula 20 - Utilizando conceitos avançados de SQL em Java

Passando parâmetros para comandos SQL

Em alguns casos, comandos SQL como consultas, atualizações, remoções ou inserções requerem muitos dados. Nestes casos, uma boa opção é utilizar parâmetros para simplificar a consulta e evitar trabalhar com a concatenação de Strings. Assim, você vai ver agora como passar parâmetros para comandos SQL.

Para começar, vamos modificar o método inserir que você acabou de criar. A modificação consiste em substituir a invocação do método connection.createStatement() por connection.prepareStatement(). Ao fazer isso, você terá que mudar o tipo da variável s para PreparedStatement. Veja, a seguir, como ficaria a parte inicial do seu novo método inserir.

Note que o comando SQL INSERT do prepareStatement usa '?' (interrogação) para determinar onde os parâmetros serão informados. Ou seja, agora, cada ‘?’ (interrogações) no comando SQL representa um parâmetro. Com isso, você não precisa fornecer todos os valores quando definir um comando SQL. Esses valores poderão ser passados posteriormente na forma de parâmetros.

Para relacionar o valor com um parâmetro do seu comando SQL, você usa o método set da classe PreparedStatement. É importante você observar que para cada tipo de parâmetro você usa um método diferente. Por exemplo, para definir o valor do primeiro parâmetro do comando INSERT acima, você deve usar o comando s.setInt(1, 11). Esse comando informa que ao achar a primeira ‘?’ (interrogação) no comando SQL, o Java deve substituí-la pelo valor 11. O mesmo acontece se você executar o comando s.setString(2, "ricardo@gmail.com"), o Java vai substituir a segunda ‘?’ (interrogação) pelo valor "ricardo@gmail.com". Veja, a seguir, como definir o valor dos outros 4 parâmetros restantes.

Depois de definir o valor de todos os parâmetros, você deve executar o comando executeUpdate(). Note que agora, diferentemente do exemplo mostrado na seção anterior, você não usa uma string de comando SQL. O novo método inserir pode ser visto logo a seguir:

Versão 5.3 - Todos os Direitos reservados