Como imprimir o resultado de um método entre aspas?
9 respostas
Erick_Ribeiro
Bom dia. Eu estou estudando Model-View-Controller e eu criei um pequeno programa para inserir dados no DB.
O problema é que eu não consigo imprimir o resultado do método entre aspas para inserir no banco de dados no formato de String.
Vejam o estado atual da string:
Stringsql="INSERT INTO Empregado("+"'m_model.getCpf()'"+','+"'m_model.getNome()'"+','+"'m_model.getCargo()'"+','+m_model.getSalario()+")";
aproveitando que vc está estudando camada de persistencia, de uma olhadinha na classe PreparedStatement, que vai deixar seu código mais elegante
abrasss
Erick_Ribeiro
É isso mesmo, Phelps. Obrigado :thumbup:
Erick_Ribeiro
renanreismartins , Vou ver isso sim, sem dúvidas. Obrigado pela informação!
Fellipex
e usa StringBuilder não String
renanreismartins
Fellipex usar o StringBuilder nesse caso não faz muita diferença (em termos de performance).
Uma vez que são poucas concatenações. Seu uso faz mais sentido dentro de for, while e etc, com muitas iterações
grande abrassssss
Fellipex
obrigado!
Abraços
Gustavo_Marques
Se for usar PreparedStatement então nem precisa concatenar string.
Stringsql="insert into Empregado values (?,?,?,?)";PreparedStatementp=con.prepareStatement(sql);p.setString(1,m_model.getCPF());p.setString(2,m_model.getNome());p.setString(3,m_model.getCargo());p.setDouble(4,m_model.getSalario());p.executeUpdate();p.close();//não esquece de fehar a connection em um bloco finally
att
pmlm
Usar StringBuilder não faz nem muita nem pouca diferença neste caso. É exactamente igual. Agora o que deveria usar era PreparedStatement em vez de concatenar os parâmetros na query.