[resolvido]Erro na validação de usuário e senha: Dynamic SQL Error SQL error code = -104 Token

Olá!!!

Tou desenvolvendo um sisteminha pra vendas web em java.
Na hora que tento validar o usuário e senha ocorre um erro q não consegui achar no código.
O erro é esse: java.sql.SQLException: Dynamic SQL Error SQL error code = -104 Token unknown - line 1, char 53 =

não sei o pq desse erro, abaixo segue o código que estou utilizando:

/*

  • EfetuarLogin.java
  • Created on 30 de Dezembro de 2007, 12:54
    */

package br.sistemaVendasWeb;

import java.io.;
import java.net.
;

import javax.servlet.;
import javax.servlet.http.
;
import javax.servlet.;
import javax.servlet.http.HttpSession.
;
import java.io.;
import java.util.
;
import java.sql.;
import java.awt.
;

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;

/**
*

  • @author Administrador

  • @version
    */
    public class EfetuarLogin extends HttpServlet {

     public Connection con = null;
     public Statement stm = null;
     PrintWriter out;
     ResultSet rs;
    

    /** Processes requests for both HTTP GET and POST methods.

    • @param request servlet request

    • @param response servlet response
      */
      protected void processRequest(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      response.setContentType(“text/html;charset=UTF-8”);
      out = response.getWriter();

      // parâmetros da página Login.html
      String sLogin = request.getParameter(“htmLogin”);
      String sSenha = request.getParameter(“htmSenha”);
      String sValida;

      try{
      Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
      con = DriverManager.getConnection(
      “jdbc:odbc:Sistema”,“SYSDBA”,“masterkey”);
      out.println(“Sucesso!! Massacre!”);
      stm = con.createStatement();
      } catch (ClassNotFoundException isso){
      out.println("Excessão ClassNotFound "+ isso.getMessage());
      isso.printStackTrace();
      } catch (SQLException eita){
      out.println("SQLException…erro dos brabos "+ eita.getMessage());
      eita.printStackTrace();
      }

      sValida = “SELECT COUNT(*) FROM GLO_USUARIOS” +
      “WHERE USU_CH_LOGIN = '”+ sLogin +"’ AND " +
      “USU_CH_SENHA = '”+ sSenha +"’";

try{
rs = stm.executeQuery(sValida);
try {
if (rs.next()){
int usuarios = rs.getInt(1);
if (usuarios > 0) {
RequestDispatcher dispatcher = request.getRequestDispatcher("/Principal.html");
dispatcher.forward(request, response);
}
else
{
out.println(“Dados de login incorretos”);
}
}
}catch (SQLException sqlex) {
out.println("Erro de SQL " +sqlex);
}
}catch (SQLException sql){
out.println("Erro de SQL " +sql);
sql.printStackTrace();
}

protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
    processRequest(request, response);
  
    
}

/** Returns a short description of the servlet.
 */
public String getServletInfo() {
    return "Short description";
}
// </editor-fold>

}

Por favor se alguém puder me ajudar serei muito grato!!!

Att,

Edvaldo Nascimento

edvaldofdn@gmail.com

 sValida = "SELECT COUNT(*) FROM GLO_USUARIOS" +
"WHERE USU_CH_LOGIN = '"+ sLogin +"' AND " +
"USU_CH_SENHA = '"+ sSenha +"'"; 

Por favor, não use tal tipo de código - é o primeiro lugar onde pode ocorrer “SQL Injection”. Use um PreparedStatement para evitar os problemas com strings com ou sem aspas.

Coloque um espacinho depois de GLO_USUARIOS, ficaria assim:

sValida = "SELECT COUNT(*) FROM GLO_USUARIOS " + "WHERE USU_CH_LOGIN = '"+ sLogin +"' AND " + "USU_CH_SENHA = '"+ sSenha +"'";

Obrigado pelas ajudas de vcs, com elas consegui resolver o meu problema, consegui validar meu usuário e senha!

Mto obrigado msm!!

Att,

Edvaldo Nascimento