Java.sql.SQLException

3 respostas
G
Boa tarde galera! Estou tendo um problema aqui numa função. É o seguinte, tenho um botão para salvar informações no BD, mas estou tendo problemas com uma variável que é o tempo. Esta é a função:
public void Salvar (){		

   int tempo;
   String nome = tfNomeM.getText();
   String tom = tfTom.getText();
   String coment = taComent.getText();		
   tempo = Integer.parseInt(tfTempoM.getText());
		

	try { // AQUI QUE O PROBLEMA ACONTECE
		
			
			StringBuffer cmd = new StringBuffer();
			cmd.append("insert into stcreator.musica "); 
			cmd.append("(nomemusica, " +  "comentarios, " +  "tempo, " + "tom )");
			cmd.append("values");
			cmd.append("('" + nome + "','" + coment + "','" + tempo + "', '" + tom + "');");
			
			System.out.println("SQL:\n" + cmd.toString());
			s.executeUpdate(cmd.toString());			

		} catch (Exception excecao) {
			System.out.println("Deu erro! " + excecao);
		}
	
		
	}

Ou seja quando insiro os outros valores no programa ele passa mas no campo em que pede o tempo ele dá esta mensagem, independente da forma em que eu passe a variável tempo, tipo 000345 (00:03:45) ou 345 (3:45)

Quando tento executar ele me dá a seguinte exceção:

Deu erro! [color=blue]java.sql.SQLException: [/color]ERROR: invalid input syntax for type time: "234"

Se puderem me ajudar, ficaria muito grato!

valeu

3 Respostas

vitor_lima

O campo tempo no Banco de Dados
é do tipo inteiro ???

G

Não ele é Time without time zone, talvez seja isto ñ?
mas qual a melhor forma de resolver isto, mudar pra inteiro ou tem como fazer sem alterar no banco?

Marck

Olá!

Voce tem que passar um Date.
Para fazer da forma certa, usa o PreparedStatement. Veja http://java.sun.com/j2se/1.4.2/docs/api/java/sql/PreparedStatement.html.

Criado 30 de junho de 2009
Ultima resposta 30 de jun. de 2009
Respostas 3
Participantes 3