Problema ao inserir dados no banco

Ola,
estou tentando salvar o id das disciplinas(checkboxes) q estão sendo selecionadas na tela mas não esta funcionando tipo o código não esta gerando erro mas também não esta salvando no banco =(
O código do meu método para salvar as disciplinas é o seguinte:

public void salvaDisciplinasNaTurma(JCheckBox ck[],Turma turma)throws Exception { for(int i=0;i<ck.length;i++) { if(ck[i]!=null) { if(ck[i].isSelected()) { PreparedStatement ps= conexao.prepareStatement("select d.id,t.id from disciplina d,turma t where d.nome= ? and t.nome= ? and t.id_ensino=d.id_ensino "); ps.setString(1, ck[i].getText()); ps.setString(2, turma.getNome()); ResultSet resultado = ps.executeQuery(); while(resultado.next()) { if(resultado.getInt(1)>0) {comando.executeUpdate("insert into turma_disciplina (id_turma,id_disciplina) values ('" +resultado.getInt(2)+ "','" + resultado.getInt(1) + "')" ); } } } } } }

Aqui é o método em que eu chamo o método acima dentro de outra classe:

[code]botaoAdicionaDisciplina.addActionListener (new ActionListener (){ //ADD AS DISCIPLINAS NA TURMA
public void actionPerformed(ActionEvent e)
{

			try{
				Turma novaTurma=new Turma();
				TurmaDAO turmadao=new TurmaDAO();
				turmadao.salvaDisciplinasNaTurma(ck,novaTurma);
				JOptionPane.showMessageDialog(null, "Dados inseridos com sucesso!");
			}
			catch(Exception e1)
			{
				JOptionPane.showMessageDialog(null, "A turma não esta cadastrada no banco!"+e1.getMessage());
				e1.printStackTrace();
			}
		}});[/code]

Alguém pode me ajudar a encontrar o erro =/
Obrigada!

tenta usar conexao.commit();

Ola Mauricioadl,
então conexao.commit(); eu uso no final do método?
fiz mais algumas alterações e agora esta ocorrendo um erro java.lang.NullPointerException e cujo as linhas de erro são as seguintes
comando.executeUpdate("insert into turma_disciplina (id_turma,id_disciplina) values ('" +resultado.getInt(2)+ "','" + resultado.getInt(1) + "')" );
e a outra linha é turmadao.salvaDisciplinasNaTurma(ck,novaTurma);

Ah!as alterações q fiz foram as seguintes:
botaoAdicionaDisciplina.addActionListener (new ActionListener (){ //ADD AS DISCIPLINAS NA TURMA
[code]public void actionPerformed(ActionEvent e)
{

			try{
				Turma novaTurma=new Turma();
				[b]novaTurma.setNome(ttxtNomeTurma.getText());
				novaTurma.setSemestre(Integer.parseInt(txtSemestre.getText()));
				novaTurma.setAno(Integer.parseInt(txtAno.getText()));[/b]


[/code]
obrigada!

java.lang.NullPointerException

esse erro ocorre quando vc tenta usar um array ou uma variavel/atributo que esta nulo. Provavelmente os resultados de; resultado.getInt(2)+ “’,’” + resultado.getInt(1) nao estao vindo, verifique se a sua consulta esta correta!

Ola,
testei no banco mas a consulta gera resultados :roll:
Segue um print da pesquisa no banco!
Obrigada


bom, vamos por partes.

vc colocou o commit()?

ele tem q ser colocado no final de qualquer instrução sql que há alteração na base de dados, isso faz com q sua transação seja efetivada.

vc esta tentando gravar checkbox certo? como eles estao no banco de dados? tipo boolean mesmo?

oi,
coloquei o commit() no final da instrução sql e gerou este erro :S java.sql.SQLException: Can't call commit when autocommit=true at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:933) at com.mysql.jdbc.ConnectionImpl.commit(ConnectionImpl.java:1635)....

eu to tentando gravar o texto dos checkboxes selecionados já que eles são as disciplinas que estão salvas no banco para poder relacioná-los às turmas

obrigada :smiley:

mas, qual é o tipo dos checkbox no banco? varchar, boolean, byte??? pode ser esse o problema

eu salvo o texto dos checkboxes no banco e o tipo que uso é Varchar

:)brigada