Galera, bom dia.
Estou desenvolvendo um sistema acadêmico, porém estou tendo diversas dificuldades em algumas coisas. Trata-se de um sistema de portaria que registra entrada e saída de visitantes.
Para começar, quanto tento incluir uma nova visita no banco de dados, aparece a seguinte mensagem:
“GDS Exception (número do erro). No transact for request.”
Não sei o que pode estar acontecendo, estou usando o firebird e a biblioteca do jaybird.jar.
Mas de qualquer forma postarei os trechos de código deste método:
construtor classe Visitante
private int codVisitante;
private String nomeVisitante;
private String cpf;
private String localVisitaEstabelecimento;
private String nomeContato;
private Date dataHoraEntrada;
private Date dataHoraSaida;
public Visitante(int codVisitante, String nomeVisitante, String cpf, String localVisitaEstabelecimento, String nomeContato, Date dataHoraEntrada)
{
this.codVisitante = codVisitante;
this.nomeVisitante = nomeVisitante;
this.cpf = cpf;
this.localVisitaEstabelecimento = localVisitaEstabelecimento;
this.nomeContato = nomeContato;
this.dataHoraEntrada = dataHoraEntrada;
this.dataHoraSaida = null;
}
método de inclusão no banco de dados
public static void cadastrarVisita(Visitante objVisitante) throws PortariaException, SQLException
{
PreparedStatement objConsulta = objConexao.prepareStatement("SELECT * FROM PORTARIA WHERE CPF = ? ORDER BY NOME");
objConsulta.setString(1, objVisitante.getCpf());
ResultSet resultado = objConsulta.executeQuery();
if(resultado.next())
{
throw new PortariaException("Já existe visita codigo/nome " + objVisitante.getCodVisitante()+ "/" +objVisitante.getNomeVisitante() + " em aberto cadastrada para o CPF informado!");
}
else
{
PreparedStatement objSQL = objConexao.prepareStatement("INSERT INTO PORTARIA(NOME, CPF, LOCAL, CONTATO, DATA_ENTRADA) VALUES (?,?,?,?,?,?)");
objSQL.setString(1, objVisitante.getNomeVisitante());
objSQL.setString(2, objVisitante.getCpf());
objSQL.setString(3, objVisitante.getLocalVisitaEstabelecimento());
objSQL.setString(4, objVisitante.getNomeContato());
objSQL.setDate(5, objVisitante.getDataHoraEntrada());
objSQL.setDate(6, objVisitante.getDataHoraSaida());
objSQL.executeUpdate();
}
}
Qualquer ajuda será bem-vinda
Valeu!