Não, o certo é assim:
//Nunca importe com.mysql.jdbc.
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.sql.DriverManager;
import java.sql.SQLException;
[code]
Connection conn = null;
//Use PreparedStatement
PreparedStatement stmt = null;
ResultSet rs = null;
String url = “jdbc:mysql://localhost:3306/”;
String dbName = “test”;
String driver = “com.mysql.jdbc.Driver”;
try{
//Não tem casts aqui. Você era obrigado a por pq usava os imports errados.
conn = DriverManager.getConnection(url+dbName,“root”,"");
stmt = conn.prepareStatement(“SELECT id FROM clientes ORDER BY id DESC LIMIT 1”);
//Não tem consulta no executeQuery
rs = stmt.executeQuery();
if (rs.next()) {
int ult = rs.getInt("id")+1;
jTextField8.setText(""+ult);
}
} catch(SQLException erro) {
JOptionPane.showMessageDialog(this, “Não deu certo”);
erro.printStackTrace(); //Não é uma boa ignorar mensagens de erro!
} finally {
//Você também deve fechar a o statement e o resultset
try { if (rs != null) rs.close(); } catch (SQLException err) {}
try { if (stmt != null) stmt.close(); } catch (SQLException err) {}
try { if (conn != null) conn.close(); } catch (SQLException err) {}
}
//O resto dos campos vc limpa normal aqui embaixo[/code]
Outra coisa. Procure dar nomes descritivos para seus JTextFields. Fica bem difícil entender seu código com as coisas chamando jTextField8, JTextField35, etc… pq não chamar de txtId, txtNome, etc? Você pode ter vários problemas, ser iniciante, e não compreender a linguagem, mas não tem desculpa para ser também preguiçoso.
Finalmente, o TOP 1 era sintaxe do SQL Server, desculpe. O certo no MySQL era LIMIT 1, por isso sua consulta não estava funcionando. De qualquer jeito, é sempre uma boa idéia exibir a exceção do erro, mesmo que seja apenas no console. Assim você não fica as cegas se o código não funcionar e pode dizer qual foi o problema, ao invés de simplesmente dizer que o código “não funciona”.