Erro no acesso ao Banco de Dados Access

Galera, estou com o seguinte problema. Estou me conectando ao MS Access porém estou tomando um erro abaixo:

[Microsoft][ODBC Driver Manager] Estado de cursor inválido

Abaixo a forma de conexão:
public Dao() throws SQLException
{
try
{
String local = System.getProperty(“user.dir”);
local += “\Produtos.mdb”;

  // Carregando o driver JdbcOdbcDriver 
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  // Abrindo uma Connection. Note que o nome do driver deve 
  // ser o mesmo disponivel na lista de drives que podem ser 
  // usados para definir uma DSN.O parametro DBQ que indica 
  // o local do arquivo. Eis o pulo do gato. :-) 
  conn = DriverManager.getConnection("jdbc:odbc:Driver=" + 
         "{Microsoft Access Driver (*.mdb)};" + 
         "DBQ=" + local ,"",""); 
  conn.setAutoCommit(false); // explicitando o modo     
}
catch(Exception ex) { 
  ex.printStackTrace(); 
} 

}

E esta é a consulta:

public int geraCodSequencial()
{
int maxCod = 0;
try
{
String SQLGeraCodSequencial = "SELECT MAX(codigo) " +
“FROM produtos”;
pstm = conn.prepareStatement(SQLGeraCodSequencial);
rs = pstm.executeQuery();

  maxCod = rs.getInt(1);      
}
catch(Exception e)
{
  System.out.println("Ocorreu o seguinte erro durante a leiutra: " + e.getMessage());
}
return maxCod;

}

Alguém já tomou este erro? É a primeira vez que venhi ao fórum e devo dizer que é realmente muito bom. Parabéns e Valeu.

antes de vc usar algum dos métodos get de ResultSet vc deve chamar o método next() do ResultSet.

exemplo para iterar sobre o ResultSet:

while (rs.next()) {
    System.out.println("valor: " + rs.getInt(1));
}

soh uma perguntinha…jah que tu estais usando o Access, ao inves de passar trabalho buscando o max e incrementando…pq tu naum usao o tipo autoincremente do access???

[]'s

Seuparada e Diana, muitíssimo obrigado. Fiz as duas coisas que vocês me falaram, o código está funcionando perfeitamente. Valeu mesmo e abraços.