| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/04/2006 16:20:43
|
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();
}
}
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/04/2006 16:43:58
|
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..
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/04/2006 17:55:22
|
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();
}
}
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2006 12:00:22
|
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....
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2006 12:10:11
|
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.
|
|
|
 |
|
|
|
|