vc leu o motivo do erro?
aquele ‘1’ nao pode ser entre aspas! ele é int.
mande essa sua linha novamente para vermos como ela está agora no seu código…
[]s
vc leu o motivo do erro?
aquele ‘1’ nao pode ser entre aspas! ele é int.
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
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”;
/**
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;
}
}
/**
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();
}
}
/**
/**
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?