Retorno da Servlet  XML
Índice dos Fóruns » Google Android e Java Micro Edition (ME)
Autor Mensagem
lourival.oliveira
HelloWorld

Membro desde: 23/04/2006 19:47:47
Mensagens: 10
Offline

Srs, estou com problemas neste método (abaixo), pois preciso que o resultado do mesmo retorne a consulta completa (cerca de 6 linhas), no entanto ela estava retornando apenas a 1ª linha...era por causa do if na linha ...if aQuery.next(), então coloquei o while, mas o agora esta aparecendo um erro "missing return statement" no fechamento da chave do método, que não me deixa eu concluir o código. Alguem poderia me auxiliar? Uso NetBeans 5 + Mobility Pack. Agradeço desde já a atenção de todos.

private String consulta(String login, String senha){
try
{
Class.forName("org.firebirdsql.jdbc.FBDriver");
Connection con = DriverManager.getConnection("jdbc:firebirdsql:localhost:"
+"c:/java/j2me/said/dados.fdb","SYSDBA","masterkey");
Statement Stm = con.createStatement();
String sql="select codigo, login from USUARIOS where login =" + login +
"and senha = '" + senha + "'";
ResultSet aQuery = Stm.executeQuery(sql);

while (aQuery.next()){
return aQuery.getString("produto") + " - " + aQuery.getString("preco");
}
if ((aQuery.next() == false))
return null;
}
catch (Exception e){
return e.toString();
}
}
maquina_v8
Entusiasta Java

Membro desde: 13/04/2006 15:50:05
Mensagens: 17
Offline

Ola Lourival, tenta fazer o seguinte:
Coloque o seu while dessa maneira:


E no final da função você coloca:



Veja se com isto dá certo....

Abraços..
lourival.oliveira
HelloWorld

Membro desde: 23/04/2006 19:47:47
Mensagens: 10
Offline

Uau!!!

Era isto mesmo de que eu precisava.

Agora preciso tratar o retorno, ou seja, fiz assim:

if (retorno != null) {
return retorno
}
else
return null


Mas aí ao testar, simulei um retorno == null, mas não tive nenhum resultado, na verdade deveria retornar a mensagem "Atenção: Login/Senha incorretos!!!", mas retornou uma tela vazia. Olha se eu estou errando na sintaxe do retorno. Agradeço desde já a sua valorosa atenção!!!.

Veja o código completo:
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//-------------
String login = request.getParameter("login"),
senha = request.getParameter("senha");

String dados = consulta(login,senha);
if (dados == null){
response.sendError(response.SC_BAD_REQUEST,"Atenção: Login/Senha inválidos!!!");
return;
}
response.setContentType("text/plain;charset=UTF-8");
PrintWriter out = response.getWriter();
out.print(notas);
out.close();
//-------------
}
private String consulta(String login, String senha){
try
{
Class.forName("org.firebirdsql.jdbc.FBDriver");
Connection con = DriverManager.getConnection("jdbc:firebirdsql:localhost:"
+"c:/java/j2me/said/dados.fdb","SYSDBA","masterkey");
Statement Stm = con.createStatement();
String sql="select codigo, login from USUARIOS where login =" + login +
"and senha = '" + senha + "'";
ResultSet aQuery = Stm.executeQuery(sql);
String retorno = "";
while (aQuery.next()){
retorno += aQuery.getString("codigo") + " - " + aQuery.getString("login") + "\n";
}
if (retorno != null){
return retorno;
}
else
return null;
}
catch (Exception e){
return e.toString();
}
}
maquina_v8
Entusiasta Java

Membro desde: 13/04/2006 15:50:05
Mensagens: 17
Offline

Então, pois se ele nao encontrar o usuário, vc esta colocando para retornar null.

Coloque assim:



Veja se dá certo...

Abraços....
lourival.oliveira
HelloWorld

Membro desde: 23/04/2006 19:47:47
Mensagens: 10
Offline

Valeu amigao, deu certo!
As vezes, na ansia de resolver rápido, nos perdemos e não raciocinamos direito.

Obrigado mesmo.
 
Índice dos Fóruns » Google Android e Java Micro Edition (ME)
Ir para:   
Powered by JForum 2.1.8 © JForum Team