Ir para conteúdo
Fórum Script Brasil
  • 0

Conexão com o banco de dados classeDAO


luis augusto

Pergunta

alguém pode me ajudar ?

estou com um problema estou dando insert em três tabelas ao mesmo tempo ,ou seja ,quando eu insiro os dados pelo formulario os dados vão pra três tabelas ao mesmo tempo ,eu ate consigo inserir nas três tabelas ,mas as minhas fks dos relacionamentos sempre retornam 0 a cada nova inserção,

gostaria de saber qual a maneira correta de fazer este insert onde na hora da inserção eu não retorne 0 nas fks ?

esse e meu codigo :

public void cadastrarCliente(Cliente cliente) {
try {
pstm = bd.conectar().prepareStatement("select * from pessoa where pess_nome like ?");
pstm.setString(1, cliente.getNome());
rs = pstm.executeQuery();
if(rs.next()){
JOptionPane.showMessageDialog(null, "já existe um cliente cadastrado com este nome !");

}else{
pstm = bd.conectar().prepareStatement("insert into pessoa values(null,?,?,?,?,?,?,?,?,?,?)");


pstm.setString(1, cliente.getNome());
pstm.setString(2, cliente.getSexo());
pstm.setString(3, cliente.getIdade());
pstm.setString(4, cliente.getEmail());
pstm.setString(5, cliente.getDatanasc());
pstm.setString(6, cliente.getEstadocivil());
pstm.setString(7, cliente.getCpf());
pstm.setString(8, cliente.getRg());
pstm.setString(9, cliente.getTelefonefixo());
pstm.setString(10, cliente.getCelular());





pstm.executeUpdate();
}
} catch (Exception e) {
e.printStackTrace();
}finally {
bd.desconectar();
}
try{

pstm = bd.conectar().prepareStatement("insert into endereco values(null,LAST_INSERT_ID(),LAST_INSERT_ID(),?,?,?,?,?)");


pstm.setString(1, cliente.getEndereco());
pstm.setString(2, cliente.getCidade());
pstm.setString(3, cliente.getBairro());
pstm.setString(4, cliente.getCep());
pstm.setString(5, cliente.getUf());

pstm.executeUpdate();

}catch(Exception e){
e.printStackTrace();
}finally {
bd.desconectar();
}

try{
pstm = bd.conectar().prepareStatement("insert into clientes values(null, LAST_INSERT_ID())");








pstm.executeUpdate();
}catch(Exception e){
e.printStackTrace();
}finally {
bd.desconectar();
}
}

att

Luiz augusto

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...