Criei uma classe Conexao
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
public class Conexao {
// ---------Variaveis para estabelecer conexao com o
// banco-------------------\\
private static Connection conn = null;// Conectar
private static Statement statement;// Statement
public ResultSet rs;// Result set da query
private static final String driver = "sun.jdbc.odbc.JdbcOdbcDriver";// Driver
// jdbc
private static final String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)}; "
+ "DBQ=C://Arquivos de programas//PedidoCompra//sisPedidoCompra.mdb";
private static final String login = "";// login
private static final String pwd = "";// password
public ResultSet getConexao(String sql, String acao) {
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, login, pwd);
statement = conn.createStatement();
if (acao.equals("cadastro") || acao.equals("alterar") || acao.equals("excluir"))
{
statement.executeUpdate(sql);
} else {
rs = (statement.executeQuery(sql));
return rs;
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Erro");
} finally {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return rs;
}
}
e uma Classe para testar essa conexão
public class PegarConexao {
/**
* @param args
*/
public static void main(String[] args) {
try {
Conexao conecta = new Conexao();
System.out.println(conecta.getConexao("select * from motivo", "query"));
//Resgatar conteudo com ResulSet
while(conecta.rs.next()){
System.out.println(conecta.rs.getString("motivo"));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
e me traz o seguinte erro
sun.jdbc.odbc.JdbcOdbcResultSet@fa39d7
java.sql.SQLException: ResultSet is closed
at sun.jdbc.odbc.JdbcOdbcResultSet.checkOpen(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.next(Unknown Source)
at PegarConexao.main(PegarConexao.java:13)
o que pode ser? obrigado
