Consulta no MySQL pelo NetBeans

vc leu o motivo do erro?
aquele ‘1’ nao pode ser entre aspas! ele é int. :wink:

mande essa sua linha novamente para vermos como ela está agora no seu código…
[]s

tmb ñ da!

O erro mudou? Se mudou joga ele aí pra nós :wink:

init: deps-jar: compile-single: run-single: com.mysql.jdbc.exceptions.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 ''' where id = 1' at line 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723) at com.mysql.jdbc.Connection.execSQL(Connection.java:3250) at com.mysql.jdbc.Connection.execSQL(Connection.java:3179) at com.mysql.jdbc.Statement.executeQuery(Statement.java:1207) at BD.setResultSet(BD.java:91) at NewJFrame.atualizaCampo(NewJFrame.java:40) at NewJFrame.<init>(NewJFrame.java:23) at menu.jCheckBoxMenuItem3ActionPerformed(menu.java:194) at menu.access$300(menu.java:16) at menu$4.actionPerformed(menu.java:104) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:291) at javax.swing.AbstractButton.doClick(AbstractButton.java:357) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1225) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1266) at java.awt.Component.processMouseEvent(Component.java:6134) at javax.swing.JComponent.processMouseEvent(JComponent.java:3265) at java.awt.Component.processEvent(Component.java:5899) at java.awt.Container.processEvent(Container.java:2023) at java.awt.Component.dispatchEventImpl(Component.java:4501) at java.awt.Container.dispatchEventImpl(Container.java:2081) at java.awt.Component.dispatchEvent(Component.java:4331) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895) at java.awt.Container.dispatchEventImpl(Container.java:2067) at java.awt.Window.dispatchEventImpl(Window.java:2458) at java.awt.Component.dispatchEvent(Component.java:4331) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) java.lang.NullPointerException at NewJFrame.atualizaCampo(NewJFrame.java:41) at NewJFrame.<init>(NewJFrame.java:23) at menu.jCheckBoxMenuItem3ActionPerformed(menu.java:194) at menu.access$300(menu.java:16) at menu$4.actionPerformed(menu.java:104) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:291) at javax.swing.AbstractButton.doClick(AbstractButton.java:357) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1225) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1266) at java.awt.Component.processMouseEvent(Component.java:6134) at javax.swing.JComponent.processMouseEvent(JComponent.java:3265) at java.awt.Component.processEvent(Component.java:5899) at java.awt.Container.processEvent(Container.java:2023) at java.awt.Component.dispatchEventImpl(Component.java:4501) at java.awt.Container.dispatchEventImpl(Container.java:2081) at java.awt.Component.dispatchEvent(Component.java:4331) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895) at java.awt.Container.dispatchEventImpl(Container.java:2067) at java.awt.Window.dispatchEventImpl(Window.java:2458) at java.awt.Component.dispatchEvent(Component.java:4331) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) CONSTRUÍDO COM SUCESSO (tempo total: 5 segundos)

Pelo jeito tu continua com um problema na query:

corresponds to your MySQL server version for the right syntax to use near ''' where id = 1'  at line 1  

Tens como postar como ficou a String referente? Tecnicamente deveria ficar algo como:

String query = "Select * from " +pontos.nivel+" where id = " +pontos.id;

leia a msg de erro ao menos:

antes do “where”, vc inseriu duas aspas simples. talvês vc esteja achando que é uma aspa dupla, mas na real tem duas aspas simples ali…
manda do código completo da sua classe BD

classe BD:

[code]import java.sql.*;
public class BD
{
public static Connection connection = null;
public static Statement statement = null;
public static ResultSet resultSet = null;
public static final String DRIVER = “org.gjt.mm.mysql.Driver” ;
public static final String URL = “jdbc:mysql://localhost/quiz”;

/**

  • método que faz conexão com o banco de dados
  • retorna true se houver sucesso, ou false em caso negativo
    */

public static boolean getConnection()
{
try
{
Class.forName(DRIVER) ;
connection = DriverManager.getConnection(URL, “root”, “123”);
statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
return true;
}
catch(ClassNotFoundException erro)
{
erro.printStackTrace();
return false;
}
catch(SQLException erro)
{
erro.printStackTrace();
return false;
}
}

/**

  • Fecha ResultSet, Statement e Connection
    */

public static void close()
{
closeResultSet();
closeStatement();
closeConnection();
}

private static void closeConnection()
{
try
{
connection.close();
System.out.println(“Desconectou”);
}
catch(SQLException erro)
{
erro.printStackTrace();
}
}

private static void closeStatement()
{
try
{
statement.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}

private static void closeResultSet()
{
try
{
resultSet.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}

/**

  • Carrega o resultSet com o resultado do script SQL
    */
    public static void setResultSet(String sql)
    {
    try
    {
    resultSet = statement.executeQuery(sql);
    }
    catch(SQLException erro)
    {
    erro.printStackTrace();
    }
    }

/**

  • Executa um script SQL de atualização
  • retorna um valor inteiro contendo a quantidade de linhas afetadas
    */
    public static int runSQL(String sql)
    {
    int quant = 0;
    try
    {
    quant = statement.executeUpdate(sql);
    }
    catch(SQLException erro)
    {
    erro.printStackTrace();
    }
    return quant;
    }
    }[/code]

cria esse metodo na sua classe BD

    public static PreparedStatement createPreparedStatement(String sql) {
        try {
            return connection.prepareStatement(sql);
        } catch (SQLException ex) {
            ex.printStackTrace();
            return null;
        }
    }

depois modifique essa parte:

@SuppressWarnings("unchecked")
    public void atualizaCampo(){
    if(BD.getConnection())
               {
               
                try
                {                  
                     PreparedStatement stm = BD.createPreparedStatement("SELECT * FROM " + pontos.nivel + " WHERE ID = ?");
                     stm.setInt(1, pontos.id);
                     ResultSet rs = stm.executeQuery();
                     while (rs.next())
                     {
                         pergunta=(rs.getString("pergunta"));
                         alt1=(rs.getString("alt1"));
                         alt2=(rs.getString("alt2"));
                         alt3=(rs.getString("alt3"));
                         alt4=(rs.getString("alt4"));
                         resposta=(rs.getString("resposta"));
                         cont=(rs.getInt("id"));
                     }
                     if (cont!=pontos.id){                      
                         JOptionPane.showMessageDialog(null, "Fim de Jogo");
                         this.dispose();
                         new recordes().setVisible(true);                        
                     }
                }
                catch(java.lang.Exception ex)
                {
                    ex.printStackTrace();
                }
               }
}

Se você quiser colocar o nível como número, você pode fazer algo assim:

"SELECT * FROM " + (pontos.nivel==1?"Facil":(pontos.nivel==2?"Medio":(pontos.nivel==3?"Dificil":"Facil"))) + " WHERE ID = ?"

ou

String[] niveis = {"Facil","Medio","Dificil"}; "SELECT * FROM " + niveis[pontos.nivel-1] + " WHERE ID = ?"

mas dessa ultima resposta, a primeira opção, como colocaria numeração em cada tabela no programa? em que classe?