Update não funciona mas não gera erro :(

Ola,
estou tentando criar um código para alterar os dados de certa tabela no banco,até ai tudo bem mas o problema é que de acordo com o que for digitado num certo textfield eu tenho que buscar id disso em outra tabela para alterar junto com os outros dados que estou alterando nesta tabela ai tentei fazer o seguinte:

[code]try{

				comando.executeUpdate("UPDATE turma t ,periodo p SET t.nome ='"+ttxtNomeTurma.getText()+"',t.semestre='"+txtSemestre.getText()+"',t.ano='"+txtAno.getText()+"',t.id_periodo=p.id  WHERE t.nome='"+ttxtNomeTurma.getText()+"'and p.nome='"+txtTurno.getText()+"'");   

				JOptionPane.showMessageDialog(null,"Dados Alterados!");

			} catch(SQLException e5){ //trata os erros

				JOptionPane.showMessageDialog(null,"Erro Cmdo SQL "+e5.getMessage());
				e5.printStackTrace();
			}[/code]

eu estava lendo sobre joins antes e vi que é possivel fazer isto em todos os comando exceto o insert…
então tava tentando fazer neste update para não ter q fazer um select antes…mas oo que estou fazendo errado,pois ate então o codigo não gera erro mas também não altera no banco e tipo eu ja testei no banco tb e aparece1 commands executed 0.05 0 Records affected Warnings 0 Rows 0 Fields 0
alguém poderia me ajudar a encontrar o erro ?
Obrigada

Primeiro ponto, seu update não está realizando nenhum join.
Segundo, seu update não está atualizando nada porque as condições do WHERE não batem com algum registro que está na base de dados, por isso não é atualizado nada.

E mestre, disse alguém aqui no fórum e não me lembro quem, mas a frase é ótima:
Tratar SQL com concatenação de Strings é fazer roleta russa com o revólver completamente carregado.

Use PreparedStatements. Dá uma pesquisada.
É simples e vai te ajudar e muito!

Abraço!

Amigo faça um subSelect

          comando.executeUpdate("UPDATE turma t SET t.nome ='"+ttxtNomeTurma.getText()+"',t.semestre='"+txtSemestre.getText()+"',t.ano='"+txtAno.getText()+"' WHERE t.id_periodo=(select id from periodo where nome='"+txtTurno.getText()+"') and t.nome='"+ttxtNomeTurma.getText()+"'");     

oi leonardobhbr!
então tentei fazer um subSelect mas ainda não funcionou nem no aplicativo e nem no banco :frowning: mas tb não gera erro…

leoramos e jaziel.rc
obrigada pelas dicas