Ola,
gostaria de saber se tem como eu incrementar uma coluna no banco quando um cadastro é realizado,eu queria que cada vez que um aluno se cadastrasse em uma turma a coluna com a quantidade de alunos desta turma aumentasse,é possivel fazer isto sem usar o tipo auto incremento?
Obrigada
Sim, fazendo update.
hmm seria tipo cada vez que eu cadastro um aluno na tabela aluno e ele escolheu a turma A por exemplo eu vou la e faço :comando.executeUpdate("UPDATE turma SET totalAlunosTurma ='"+?+"' where nome='A')
só que minha duvida é justamente esta como fazer para tipo se o valor desta coluna é 5 ao cadastrar mais um aluno se torne 6 … mas como eu faço para tipo fazer a soma do valor atual da coluna +1 hmm ja sei seleciono o valor desta coluna e somo mais um!
pera ai vou implementar la
obg
Tem duas Soluções mais depende do banco de dados que você usa
uma seria alterar a coluca para AUTO_INCREMENT e depois começar de um determinado numero porem alguns bancos não vão aceitar
o SQL Serve 2008 faz isso .
ou você pode criar uma procedure que receba os valores da inserção e pega o ultimo valor da lista e incrementa com + 1 , eu particulamente acho a segunda forma
mais facil de se utilizar .
Ou Você pode criar um nova tabela com a coluna AUTO_INCREMENT e fazer o auto increment do 0 essa solução aqui não vale muito apena se você tiver muito registro na tabela e muitos relacionamentos , acho que já te ajuda.
Paty, não sei qual a tua intenção com isto, mas, se for apenas mostrar o total de alunos em uma turma, você não precisa disto.
No momento do select, você pode trazer esta informação de forma bem simples
SELECT count(valor) AS total_alunos_turma_A from turma where nome = 'A';
Se houver 30 alunos, ele retornará 30
drsmachado
quero fazer isto para controlar tipo para ter no maximo 30 alunos em cada turma mas este comando que tu postaste é bem mais simples mesmo mas ele retorna a quantidade de alunos de certa e tipo o que eu queria era controlar a qntde de alunos em cada turma
Vrodrigues2
obrigada pela explicação me ajudou a pensar na soluçao e codigo aqui! :)mas acho q eu to fazendo algo bm parecido com a 1 solução q tu postaste
Obrigada pela ajuda!
Ah meu código esta assim:
resultado=comando.executeQuery("select totalAlunosTurma from turma where nome='"+turma.getSelectedItem()+"'");
if(resultado.next())
{
comando.executeUpdate("UPDATE turma SET totalAlunosTurma ='"+resultado.getInt(1)+1+"' where nome='"+turma.getSelectedItem()+"'");
}
e pelo que parece esta funcionando
obrigada pela ajuda,explicações e dicas!