Olá!
Sou novato no Java e em POO, mas estou adorando!
Agora estou tendo um probleminha enjoado com o MySQL no Java…
public boolean getConnection(String c, String i) {
System.out.println("Testando acesso a banco de dado MySQL\n");
Connection conn = null;
String mySQL = "SELECT * FROM tabela WHERE tid = '"+c+"'";
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/bd", "root", "");
System.out.println("A conexão foi um sucesso\n");
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery(mySQL);
//(...)
//AQUI VEM O CÓDIGO QUE FAZ OS TESTES (if, etc.)
//(...)
} catch(ClassNotFoundException e) {
System.out.println("excessão Classe não encontrada");
e.printStackTrace();
} catch(SQLException e) {
System.out.println("SQL Exception... Erro na consulta:");
e.printStackTrace();
} finally {
try {
conn.close();
System.out.println("\nFechando a conexão");
} catch(SQLException erro) {
System.out.println("Erro no fechamento");
erro.printStackTrace();
}
}
O resultado é sempre:
[quote]Testando acesso a banco de dado MySQL
A conexão foi um sucesso
SQL Exception… Erro na consulta:
java.sql.SQLException: Illegal operation on empty result set.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988 )
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:854)
at com.mysql.jdbc.UpdatableResultSet.checkRowPos(UpdatableResultSet.java:226)
at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5772)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5692)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5732)
Fechando a conexão[/quote]
Não tenho certeza se está certo:
String mySQL = “SELECT * FROM tabela WHERE tid = '”+c+"’";
pois a variável c é string e é fornecida ao se chamar a função.
Pesquisando pela net vi que o MySQL não entende diretamente uma string java, mas não entendi direito o que deve ser feito…
Agradeço qualquer ajuda desde já!