Assim:
String sql = 'INSERT INTO tblclientes (nome,rf,secaoid,status) VALUES (?,?,?,?)';
PreparedStatement pst = conexao.conn.prepareStatement(sql);
pst.setString(1, cliente.getNome());
pst.setString(2, cliente.getRf());
pst.setInt(3, cliente.getSecaoid());
pst.setString(4, "ATIVO");
pst.executeUpdate();
ou assim:
sql = "INSERT INTO pessoa (nome, rf, secaoid, status) VALUES ("
+ "'" + pCliente.getNome() + "',"
+ "'" + pCliente.getRf() + "',"
+ "'" + pCliente.getSecaoid() + "',"
+ "'" + pCliente.getStatus() + "'"
+ ");";
return conexao.insertSQL(sql);
1 curtida
Geralmente a forma correta é aquela que funciona, se todas funcionam então todas estão corretas.
Uma vez eu estava bisbilhotando o código da biblioteca Java e encontrei algo parecido com isso:
boolean value = true;
if (value == true) {
return false;
return false;
Isso está correto? Claro que está pois funciona, embora fosse mais simples ter substituído tudo por um return false;
Quando uma pessoa lê os ingredientes de um pacote de biscoito dificilmente pergunta se foi colocado o chocolate primeiro ou foi o açúcar, o que estou querendo dizer é que quase ninguém se preocupa como o processo é feito, só se preocupa se realmente é saboroso (funciona).
Se eu disser que ambos exemplos seu podem estar errados.
Suponha que o nome do cliente seja “SELECT” ou “‘SELECT’”:
Cliente c1 = new Cliente();
c1.setNome("SELECT");
Cliente c2 = new Cliente();
c2.setNome("'SELECT'");
Teste e me diga se funcionam
No sou desenvolvedor Java, mas, trabalho com duas linguagens (C# e PHP
), a melhor forma de fazer um CRUD na minha visão é a primeira, porque, vai evitar Injeção de SQL, as conversões serão feitas automaticamente e isso é um fator primordial em desenvolvimento, manter um padrão também é um fator importantíssimo para futuras manutenção.
Então, isso que eu estou dizendo não é opinião, são razões pertinentes e reais no desenvolvimento no dia a dia! Use a primeira forma, sempre que possível, vai funcionar 100%.
Em PHP e C# por exemplo temos isso como premissa, utilizando as estruturas propostas para que tenhamos um maior controle no código e uma manutenção mais tranquila.