Atualizar dados vindos de uma checkbox

9 respostas
eduardoluiz.ribeiro
olá galera, o meu problema é o seguinte: eu queria saber como faço pra atualizar no bd quando uma checkBox foi marcada eu ja consegui inseri-los numa boa com com o insert porem quando vou atualizar as informações só o ultimo a ser marcado é que vai para o banco alguém sabe como posso resolver? valew estou colocando o código ai a baixo.
//atualiza os requisitos
        stReq = con.createStatement();
        String item[] = request.getParameterValues("item");
        for (int i=0; i<item.length;i++){
            requisito = Integer.parseInt(item[i]);
            
        sqlReq ="update requisito_ordem set ";
        sqlReq +="cod_requisito ="+requisito;
        sqlReq +=" where cod_ordem ="+strCodOrdem;

        int d = stReq.executeUpdate(sqlReq);
        }

9 Respostas

raci0nal

Você se certificou que o laço está passando mais de uma vez? Dá um debug ou manda prinln().

Não entendi a relação com o Checkbox.

eduardoluiz.ribeiro

ha sim eu preciso usar os checkBox pq o usuário vai fazer algumas escolhas no programa tipo ele vai especificar se o requisito é um concerto, não autorizado, uma garantia etc. eu ja usei o debug pra checar isso realmente ele executa todas as vezes o meu problema é mesmo de sql eu acho, que n devo estar sabendo fazer essa atualização direito.

L

Se os outros checkbox estão desmarcados eles nao passão pelo request, talvez por isso não estejam sendo gravados no banco…

eduardoluiz.ribeiro

é eu tb acho que seja isso mesmo pq se há um dado lá por exemplo o bd vai pegar esse dado e atualizar porém se tiver mais ele vai sempre atualizando emcima daquele primeiro eu acho que é isso que está acontecendo hum… como será que posso resolver isso talvez checando se é o primeiro dado se for ele atualiza se n ele insere? será q dá certo ( se bem que eu acho isso com cara de POG rsrsrsr)

L

Tu pode tb gravar a informação do checkbox toda vez q tu marcar ou desmarcar um, é uma alternativa!!!

raci0nal

Só uma coisa… de onde vem esse “strCodOrdem”?
Pois o lanço faz um UPDATE filtrando pelo campo “cod_ordem”.
Se este campo tiver sempre o mesmo valor, vai ser sempre alterado o mesmo registro.
Por esse motivo você deve estar tendo a impressão de que somente o ultimo registro é alterado.

Dê uma olhada e nos retorne.

Falow

eduardoluiz.ribeiro

Racional é isso aí mesmow, eu estava mandando atualizar sempre o mesmo. Valew galera eu consegui resolver aqui, eu fiz da seguinte maneira quando a página é carregada ela preenche automáticamente as respectivas check que foram selecionadas antes daí quando eu mando atualizar eu deleto as que estava no banco e mando inserir as novas que estão marcadas (assim eu posso inserir as mesmas sem ter comflitos com as chaves primárias ) tudo bem, eu achei meio POG mas rolou, mesmo assim se alguém tiver uma solução melhor aceito conselhos!! valew a ajuda gente Deus abençõe vcs!

raci0nal

Deu certo… então beleza!

O melhor jeito seria você excluir as desmarcadas e inserir as que não estão no banco.
Mas o jeito que fez não vai lhe causar problemas.

Me parece que você tem um problema com a palavra POG né? Você sonha com isso? hehehe

eduardoluiz.ribeiro

huahua é receio rsrs acabei de me formar então na faculdade é comum fazer-mos POG ( programação orientada a gambiarra! ), valew!!!

Criado 16 de maio de 2008
Ultima resposta 19 de mai. de 2008
Respostas 9
Participantes 3