Olá pessoal,
Minha primeira mensagem no guj e já vou logo postando uma bucha aqui! rs!
Estou fazendo uma agenda em java onde tenho 3 tabelas: PESSOA, TELEFONE, EMAIL. Cada pessoa pode ter + de 1 email ou telefone, sendo que o que identifica de quem é o telefone ou email é o ID da pessoa, que está associado. Isso não tem tanta importancia, é só pra ficar mais claro.
vamos ao código:
[code] try {
con = FConexoes.getConexao();
st = FConexoes.getSession();
String nome = tf_nome.getText();
String email1 = tf_email1.getText();
String email2 = tf_email2.getText();
String email3 = tf_email3.getText();
String nascimento = tf_nasc.getText();
String fone1 = tf_fone1.getText();
String fone2 = tf_fone2.getText();
String fone3 = tf_fone3.getText();
rs = st.executeQuery("select max(id) from pessoa"); //pega o maior numero da coluna ID na tabela pessoa
if (rs.next()) {
int cod = rs.getInt(1);
tf_cod.setText(String.valueOf(cod + 1)); //adiciona +1 no numero obtido para inserir um novo cadastro
}
int id = Integer.parseInt(tf_cod.getText());
st.executeUpdate("insert into pessoa (id, nome, nasc) values('" + id + "','" + nome + "','" + nascimento + "')");
st.executeUpdate("insert into email(id, mail) values('" + id + "'+'" + email1 + "')");
st.executeUpdate("insert into email(id, mail) values('" + id + "'+'" + email2 + "')");
st.executeUpdate("insert into email(id, mail) values('" + id + "'+'" + email3 + "')");
st.executeUpdate("insert into telefone) values('" + id + "'+'" + fone1 + "')");
st.executeUpdate("insert into telefone) values('" + id + "'+'" + fone2 + "')");
st.executeUpdate("insert into telefone) values('" + id + "'+'" + fone3 + "')");
JOptionPane.showMessageDialog(this, "Cadastrado com sucesso!");
con.close();
tf_cod.setText("");
tf_nome.setText("");
tf_email2.setText("");
tf_fone1.setText("");
tf_fone2.setText("");
tf_fone3.setText("");
} catch (Exception ex) {
ex.printStackTrace();
}
} [/code]
Qndo abro a janela para fazer o INSERT no bando de dados (HSQLDB) ele retorna uma mensagem:
“java.sql.SQLException: Wrong data type
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.jdbcStatement.executeUpdate(Unknown Source)”
Talvez eu esteja errando qnto a sintaxe do comando de INSERT no HSQLDB…Vale lembrar que qndo eu uso o comando “rs = st.executeQuery(“select max(id) from pessoa”);” ele retorna corretamente o numero ID maximo da coluna, dessa forma a comunicação com o BD está funcionando.
No entanto os INSERTS não funcionam, alguém pode me ajudar?