Galera é o seguinte,estou desenvolvendo uma aplicação Jme que se comunica com um servlet, porém está dando um erro na consulta e não consigo descobrir o porque.Estou utilizando o sgdb Mysql.
na declaração tenho:
private ResultSet rs = null;
private Connection con = null;
private PreparedStatement ps = null;
private DataInputStream in = null;
private DataOutputStream os = null;
private String resultfunc= null;
private String resultemp= null;
private String resultcar= null;
private String resultsetor= null;
in = new DataInputStream((InputStream) request.getInputStream());
os = new DataOutputStream((OutputStream) response.getOutputStream());
A consulta é a seguinte:
private String consultafunc = "SELECT func.nome_func,emp.empresa_func,carg.carg_func,resp.setor_resp"+
"FROM funcionario func,empresa emp, cargo carg responsavel resp" +
"WHERE funcionario= ? and empresa = ? and func.cod_func = emp.cod_func_emp and "+
"emp.cod_fun_carg = carg.cod_emp_func and carg.cod_emp_resp = resp.cod_emp_carg";
aqui recebo os dois parametros utilizados na consulta
String funcionario = in.readUTF();
String empresa = in.readUTF();
Efetuando a consulta:
[code]try {
ps = this.con.prepareStatement(consultafunc);
ps.setString(1,funcionario);
ps.setString(2,empresa);
rs = ps.executeQuery();
while (rs.next()) {
resultfunc = "" +rs.getString("nome_func");
resultemp = rs.getString("empresa_func");
resultcar= rs.getString("carg_func");
resultsetor = rs.getString("setor_resp");
}
//Aqui ta dando o erro e entrando no catch
} catch (Exception ex) {
System.out.println(ex.getMessage());
ex.printStackTrace();[/code]
O servlet está recebendo corretamente os parametros, pois quando utilizo
os.writeUTF(funcionario);
os.writeUTF(empresa);
na aplicação é mostrado corretamente o resultado
mas quando tento enviar os outros dados o servlet vai para o cach final,portanto o erro deve estar na consulta.A conexão com o bd também está funcionando,pois outras consultas já foram feitas antes.
A consulta quando feita no mysql funciona normalmente.
Alguem tem alguma dica de onde pode estar o problema?