Erro com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL s

E ai Galera, estou com um problema espero que possam me ajudar…

O Seguinte, fiz um código para validar acesso(login e senha), porém ele da o seguinte erro:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘from’ at line 1

Já procurei outros tópicos, com erros semelhantes porém não consegui achar a solução do meu problema.

Abaixo código que efetuou a validação:

[code] try {
conexao.executaSQL(“select * from login where LOGIN_USER=’”+ TXT_USUARIO.getText()+"’");
conexao.rs.first();
if(conexao.rs.getString(“LOGIN_SENHA”).equals(TXT_SENHA.getText())){

            frmPrincipal frm = new frmPrincipal(TXT_USUARIO.getText());
            frm.setVisible(true);
            
        
       }else{
        JOptionPane.showMessageDialog(rootPane,"Usuário ou senha inválidos!");
        }
        
       
    } catch (SQLException ex) {
        JOptionPane.showMessageDialog(null,"Usuário ou senha inválidos!");
        
    }[/code]

abaixo código que executo o SQL:

[code]package DAO;

import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

public class ConectaBanco {

public Statement stm; // responsavel por realizar pesquisa no meu banco de dados
public ResultSet rs; // responsavel por armazenar o resultado de minha pesquisa
private String driver = “com.mysql.jdbc.Driver”; // responsavel por identifica meu banco de dados
private String caminho = “jdbc:mysql://localhost:3306/tcc”; // informo o local e nome do meu database
private String usuario = “root”; // informo o usuario do banco de dados
private String senha = “dados123”; // informo a senha do usuario do meu banco de dados
public Connection conn;// realiza minha conexão com o banco de dados
public PreparedStatement pst;
public void conexao(){

    try {
      System.setProperty("jdbc.driver", driver);
      conn= DriverManager.getConnection(caminho,usuario,senha);
      
  } catch (SQLException ex) {
      Logger.getLogger(ConectaBanco.class.getName()).log(Level.SEVERE, null, ex);
        JOptionPane.showMessageDialog(null, "Erro de conexão\n"+ex.getMessage());
  }

}

public void executaSQL(String sql){

  try {
      stm = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
      rs = stm.executeQuery(sql);
      
  } catch (SQLException ex) {
      Logger.getLogger(ConectaBanco.class.getName()).log(Level.SEVERE, null, ex);
      JOptionPane.showMessageDialog(null, "Erro no Executa SQL \n"+ex.getMessage());
  }

}

public void desconecta(){

  try {
      conn.close();
  } catch (SQLException ex) {
      Logger.getLogger(ConectaBanco.class.getName()).log(Level.SEVERE, null, ex);
      
       JOptionPane.showMessageDialog(null, "Erro ao Fechar a conexão\n"+ex.getMessage());
  }

}

public PreparedStatement prepareStatement(String select__from_login_where_LOGIN_USER_like_) {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}

}[/code]

Galera sou novato em programação, se puderem me dar uma força agradeço.

Desde já agradeço !!!

Abraço…

[quote=joseerikbelmonte]E ai Galera, estou com um problema espero que possam me ajudar…

O Seguinte, fiz um código para validar acesso(login e senha), porém ele da o seguinte erro:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘from’ at line 1

Já procurei outros tópicos, com erros semelhantes porém não consegui achar a solução do meu problema.

Abaixo código que efetuou a validação:

[code] try {
conexao.executaSQL(“select * from login where LOGIN_USER=’”+ TXT_USUARIO.getText()+"’");
conexao.rs.first();
if(conexao.rs.getString(“LOGIN_SENHA”).equals(TXT_SENHA.getText())){

            frmPrincipal frm = new frmPrincipal(TXT_USUARIO.getText());
            frm.setVisible(true);
            
        
       }else{
        JOptionPane.showMessageDialog(rootPane,"Usuário ou senha inválidos!");
        }
        
       
    } catch (SQLException ex) {
        JOptionPane.showMessageDialog(null,"Usuário ou senha inválidos!");
        
    }[/code]

abaixo código que executo o SQL:

[code]package DAO;

import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

public class ConectaBanco {

public Statement stm; // responsavel por realizar pesquisa no meu banco de dados
public ResultSet rs; // responsavel por armazenar o resultado de minha pesquisa
private String driver = “com.mysql.jdbc.Driver”; // responsavel por identifica meu banco de dados
private String caminho = “jdbc:mysql://localhost:3306/tcc”; // informo o local e nome do meu database
private String usuario = “root”; // informo o usuario do banco de dados
private String senha = “dados123”; // informo a senha do usuario do meu banco de dados
public Connection conn;// realiza minha conexão com o banco de dados
public PreparedStatement pst;
public void conexao(){

    try {
      System.setProperty("jdbc.driver", driver);
      conn= DriverManager.getConnection(caminho,usuario,senha);
      
  } catch (SQLException ex) {
      Logger.getLogger(ConectaBanco.class.getName()).log(Level.SEVERE, null, ex);
        JOptionPane.showMessageDialog(null, "Erro de conexão\n"+ex.getMessage());
  }

}

public void executaSQL(String sql){

  try {
      stm = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
      rs = stm.executeQuery(sql);
      
  } catch (SQLException ex) {
      Logger.getLogger(ConectaBanco.class.getName()).log(Level.SEVERE, null, ex);
      JOptionPane.showMessageDialog(null, "Erro no Executa SQL \n"+ex.getMessage());
  }

}

public void desconecta(){

  try {
      conn.close();
  } catch (SQLException ex) {
      Logger.getLogger(ConectaBanco.class.getName()).log(Level.SEVERE, null, ex);
      
       JOptionPane.showMessageDialog(null, "Erro ao Fechar a conexão\n"+ex.getMessage());
  }

}

public PreparedStatement prepareStatement(String select__from_login_where_LOGIN_USER_like_) {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}

}[/code]

Galera sou novato em programação, se puderem me dar uma força agradeço.

Desde já agradeço !!!

Abraço…
[/quote]

Aparentemente não existe nada errado no seu select.
testa o que tá vindo aqui:
TXT_USUARIO.getText()

normalmente esse tipo de erro ocorre quando tem algum caractere especial no meio.
vc copiou e colou esse select de algum lugar? tenta escreve na mão pra ver se o erro se repete.
da um print na string do seu select antes de fazer a consulta.

tenta usar prepared statements. É melhor que utilizar concatenação de strings.

Bom dia Luiz,

Então não copie e coloquei, escrevi a mão mesmo. Tentei fazer com o PreparedStatement porém o erro persiste.

[code]public void executaSQL(String sql){

  try {
      PreparedStatement stm = conn.prepareStatement(sql);
      rs = stm.executeQuery();
      
  } catch (SQLException ex) {
      Logger.getLogger(ConectaBanco.class.getName()).log(Level.SEVERE, null, ex);
      JOptionPane.showMessageDialog(null, "Erro no Executa SQL \n"+ex.getMessage());
  }

}[/code]

Se é novo em programação, como está seus conhecimentos em POO?

onde está o main do seu codigo? vamos ver tudo. desde o inicia o que tá fazendo.
outra… vc disse que usou preparedstatement… só por curiosidade, sabe o que isso faz?

    public PreparedStatement prepareStatement(String select__from_login_where_LOGIN_USER_like_) {  
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.  
    }  

cara…sei q se passou muito tempo…mas acho q sei qual seu erro…

tenta assim…SELECT * FROM login WHERE …

ou assim…SELECT * FROM bancodedados.login WHERE …

mas não se esqueça dos ``