Jump to content
Sign in to follow this  
Henrique-raptor

Recuperar Valores de um checkbox no servlet e gravar no banco

Recommended Posts

Comecei a pouco a aprender Java, completamente iniciante.
Estou tentando fazer um sistema simples onde eu realizo um cadastro de curriculo. Na pagina de cadastro existe dois grupos de checkbox onde faço um select no banco por tanto tem o mesmo nome.
Um para linguagem de programação e outro de banco de dados.
Até ai OK.
Estou usando JSP e servlet;

Eu travei na seguinte parte, no meu servlet to recuperando os valores do checkbox dessa forma ("String[] valorlinguagem = request.getParameterValues("linguagem");" , assim ele me retorna um array de string com os meus checkbox que foram habilitados.

  1. @servelet
  2. for (String valorling : valorlinguagem){
  3. inserelinguagem.setId_curriculoLinguagem(request.getParameter(valorling));
  4. }


Acontece que na minha classe o metodo "setId_curriculoLinguagem"ele ta me retornando um Long porque irei pegar somente o valor ID da linguagem para gravar na tabela. E ta dando erro nessa linha.
Gostaria que alguem com mais experiencia que eu me desse uma orientação nesse caso, se eu to fazendo da forma correta ou não.

Segue os meus codigos

Classe CurriculoLinguagem

  1. public class CurriculoLinguagem {
  2. private long id_curriculoLinguagem;
  3. private long id_curriculo;
  4. private long id_linguagem;
  5. public CurriculoLinguagem(){
  6. this.id_curriculoLinguagem = id_curriculoLinguagem;
  7. this.id_curriculo = id_curriculo;
  8. this.id_linguagem = id_linguagem;
  9. }
  10. public long getId_curriculoLinguagem() {
  11. return id_curriculoLinguagem;
  12. }
  13. public void setId_curriculoLinguagem(long id_curriculoLinguagem) {
  14. this.id_curriculoLinguagem = id_curriculoLinguagem;
  15. }
  16. public long getId_curriculo() {
  17. return id_curriculo;
  18. }
  19. public void setId_curriculo(long id_curriculo) {
  20. this.id_curriculo = id_curriculo;
  21. }
  22. public long getId_linguagem() {
  23. return id_linguagem;
  24. }
  25. public void setId_linguagem(long id_linguagem) {
  26. this.id_linguagem = id_linguagem;
  27. }
  28. }

O meu DAO onde to inserindo os dados.

  1. public class InsereCheckLinguagemDao {
  2. public void SalvaLinguagem(CurriculoLinguagem linguagem){
  3. String ultimo = ("SELECT MAX(i_cdcurriculo) FROM curriculo");
  4. StringBuilder sql = new StringBuilder();
  5. sql.append("insert into");
  6. sql.append(" curriculoLinguagem(i_cdcurriculo, i_cdlinguagem)");
  7. sql.append(" values(?,?)");
  8. try(Connection connection = FabricaConexao.getConnection();
  9. PreparedStatement ps = connection.prepareStatement(sql.toString())){
  10. ps.setNString(1, ultimo);
  11. ps.setLong(2, linguagem.getId_curriculoLinguagem());
  12. ps.execute();
  13. }catch(SQLException e){
  14. e.printStackTrace();
  15. }
  16. }
  17. }


Se alguem puder me ajugar nisso ai ficarei grato.

Share this post


Link to post
Share on other sites

Você está recuperando o valor do parâmetro como String... porém ele é o ID da linguagem (espero eu).

 

Então é só transformar a String num long.

 

 

inserelinguagem.setId_linguagem(Long.parseLong(valorling)); 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.