Java socorro

2 respostas Resolvido
java
A

Galera estou com o seguinte problema 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 sempre que rodo meu programa

se alguem conseguir ajudar vou mandar meus codigos pra vcs
package model.dao;

import connection.ConnectionFactory;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JOptionPane;

import model.bean.livros;

/**
*

  • @author Fiemg
    
    */
    
    public class livrosdao {
    
    public void create(livros l){
    
    Connection con = ConnectionFactory.getConnection();
    
    PreparedStatement stmt = null;
    
    //   PreparedStatement:uma forma de você fazer uma inserção no banco mais segura, onde voc
    
    //ê prepara os parametros para serem inseridos. como se fosse um anti hack
    
    try {
    
    stmt = con.prepareStatement(INSERT INTO livros ( codigo,titulo,ano,editora,autor,edicao) VALUES(?,?,?,?,?,?);
    
    stmt.setString(1,l.titulo);
    
    stmt.setInt(2,l.codigo);
    
    stmt.setString(3,l.autor);
    
    stmt.setInt(4,l.ano)      ;
    
    stmt.setInt(5,l.edicao) ;
    
    stmt.setString(6,l.editora);
    

    stmt.executeUpdate();

JOptionPane.showMessageDialog(null, Salvo com sucesso!);

} catch (SQLException ex) {

JOptionPane.showMessageDialog(null, erro + ex);

}finally{

ConnectionFactory.closeConnection(con, stmt);

}}
public List <livros> read() {
    //serve para abrir uma coneçao
      Connection con = ConnectionFactory.getConnection();
     PreparedStatement stmt = null;
     //colocar dentro de um resultado
   ResultSet rs = null;
   String sql = "SELECT * FROM livro ";
   
    List<livros> livros = new ArrayList<>();
   try {
       stmt = con.prepareStatement("SELECT * FROM livros" );
     rs  = stmt.executeQuery();
     
     while (rs.next()){
     
      livros livro = new livros();
   
            livro.setTitulo(rs.getString("titulo"));
            livro.setCodigo(rs.getInt("codigo"));
            livro.setAno(rs.getInt("ano"));
            livro.setEdicao(rs.getInt("edicao"));
            livro.setEditora(rs.getString("editora"));
            livro.setAutor(rs.getString("autor"));
            livros.add(livro);
            
  
        }

    } catch (SQLException ex) {
       System.out.println("ex" + ex);
    } finally {
        ConnectionFactory.closeConnection(con, stmt, rs);
    }

    return livros;

}

}

e esse e meu conector

package connection;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.logging.Level;

import java.util.logging.Logger;

/**
*

  • @author Samuelson
    */
    public class ConnectionFactory {

    private static final String DRIVER = com.mysql.jdbc.Driver;
    
    private static final String URL = jdbc:mysql://localhost:3306/biblioteca”;
    
    private static final String USER = root;
    
    private static final String PASS = root;
    
    public static Connection getConnection() {
    
    try {
    
    Class.forName(DRIVER);
    
    return DriverManager.getConnection(URL, USER, PASS);
    
    } catch (ClassNotFoundException | SQLException ex) {
    
    throw new RuntimeException("Erro na conexão: ", ex);
    
    }
    
    }
    
    public static void closeConnection(Connection con) {
    
    try {
    
    if (con != null) {
    
    con.close();
    
    }
    
    } catch (SQLException ex) {
    
    Logger.getLogger(ConnectionFactory.class.getName()).log(Level.SEVERE, null, ex);
    
    }
    
    }
    

    public static void closeConnection(Connection con, PreparedStatement stmt) {

    closeConnection(con);
    
     try {
    
         if (stmt != null) {
             stmt.close();
         }
    
     } catch (SQLException ex) {
         Logger.getLogger(ConnectionFactory.class.getName()).log(Level.SEVERE, null, ex);
     }
    

    }

    public static void closeConnection(Connection con, PreparedStatement stmt, ResultSet rs) {

    closeConnection(con, stmt);
    
     try {
    
         if (rs != null) {
             rs.close();
         }
    
     } catch (SQLException ex) {
         Logger.getLogger(ConnectionFactory.class.getName()).log(Level.SEVERE, null, ex);
     }
    

    }

}

2 Respostas

A

Ae não liguem pros comentários estou tentando decorar algumas coisas

darlan_machado
Solucao aceita

Cara, este erro se refere a um problema com alguma query.
O problema é que nenhuma das que você mostrou tem um from minúsculo.
De qualquer maneira, ajudaria se você postasse o stack trace do erro completo e/ou referenciasse em qual dos selects o erro é disparado.

Criado 4 de abril de 2018
Ultima resposta 4 de abr. de 2018
Respostas 2
Participantes 2