Olá pessoal: tenho um objeto
[b]
private boolean preencher_objeto_Pesquisa(){
try{
objAgendaPesquisa = new AgendaPesquisa();
objAgendaPesquisa.setDoutor(jcbAg_PesquisaDoutor.getSelectedItem().toString());
objAgendaPesquisa.setNome(jcbAg_PesquisaPaciente.getSelectedItem().toString());
objAgendaPesquisa.setDatainicial(new java.sql.Timestamp(jftAg_PesquisaDataInicial.getDate().getTime()));
objAgendaPesquisa.setDatafinal(new java.sql.Timestamp(jftAg_PesquisaDataFinal.getDate().getTime()));
objAgendaPesquisa.setTipoagendamento(jcbAg_PesquisaTipo.getSelectedItem().toString());
objAgendaPesquisa.setHora(jftAg_PesquisaHora.getText());
objAgendaPesquisa.setStatus(jcbAg_PesquisaStatus.getSelectedItem().toString());
return true;
}catch(Exception erro){
JOptionPane.showMessageDialog(null,"Erro ao preencher o objeto");
return false;
}
}
[/b]
que é preenchido antes de passar os parâmetros para o select abaixo:
[b]
public Vector PesquisarAgenda(AgendaPesquisa objAgendaPesquisa) throws SQLException{
Conexao conexao = new Conexao();
Vector linhas = new Vector();
PreparedStatement pstmt = conexao.getConexao()
.prepareStatement("SELECT doutor, nome, data, hora, tipoagendamento, status "
+ "FROM agenda "
+ "where (doutor = ' " + objAgendaPesquisa.getDoutor() + " ' or ' " + objAgendaPesquisa.getDoutor() + " ' is null )"
+ " or (nome = ' " + objAgendaPesquisa.getNome() + " ' or ' " + objAgendaPesquisa.getNome() + " ' is null ) "
+ " or (data >= ' " + objAgendaPesquisa.getDatainicial() + " ' or '" + objAgendaPesquisa.getDatainicial() + " ' is null ) "
+ " or (data <= ' " + objAgendaPesquisa.getDatafinal() + " ' or '" + objAgendaPesquisa.getDatafinal() + " ' is null ) "
+ " or (hora = ' " + objAgendaPesquisa.getHora() + "' or ' " + objAgendaPesquisa.getHora() + " ' is null ) "
+ " or (tipoagendamento = ' " +objAgendaPesquisa.getTipoagendamento() + " ' or '" + objAgendaPesquisa.getTipoagendamento() + " ' is null ) "
+ " or (status = ' " + objAgendaPesquisa.getStatus() + " ' or ' " + objAgendaPesquisa.getStatus() + " ' is null ) "
);
ResultSet rs = pstmt.executeQuery();
while(rs.next())
{
objAgendaPesquisa = new AgendaPesquisa();
objAgendaPesquisa.setDoutor(rs.getString("doutor"));
objAgendaPesquisa.setNome(rs.getString("nome"));
objAgendaPesquisa.setData(rs.getTimestamp("data"));
objAgendaPesquisa.setHora(rs.getString("hora"));
objAgendaPesquisa.setTipoagendamento(rs.getString("tipoagendamento"));
objAgendaPesquisa.setStatus(rs.getString("status"));
Vector novalinha = new Vector();
novalinha.addElement(objAgendaPesquisa.getDoutor());
novalinha.addElement(objAgendaPesquisa.getNome());
novalinha.addElement(objAgendaPesquisa.getData());
novalinha.addElement(objAgendaPesquisa.getHora());
novalinha.addElement(objAgendaPesquisa.getTipoagendamento());
novalinha.addElement(objAgendaPesquisa.getStatus());
linhas.addElement(novalinha);
}
return linhas;
}
[/b]
O problema é que no SQL Server esse select está correto, mas no java ele joga tudo o que tá na tabela agenda do banco, como se o meu select não tivesse restrição.
Acho que o objeto não está levando a informação correta para a consulta.
Como resolver pessoal ?