Posição Inválida do cursor (Access)

8 respostas
Jrmanzini

pessoal, ja pesquisei no fórum, mas não consegui resolver meu problema, aparentemente esta tudo correto:

initComponents();
conectanota = new conexao();
conectanota.conecta();
conectanota.executeSQL(" select * from notas");
try {

conectanota.resultset.first();
tfnome.setText(conectanota.resultset.getString("nome"));

} catch (SQLException erro) {
JOptionPane.showMessageDialog(null, "Não localizado" + erro);


}

parte da classe conexão:

public void executeSQL(String sql){
try {
statement = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
resultset = statement.executeQuery(sql);

}catch(SQLException sqlex){
JOptionPane.showMessageDialog(null,"Não foi possível"+"executar o comando sql,"+sqlex+", o sql passado foi"+sql);

}

}

ele conecta no banco depois da o erro :?

agradeço a ajuda

8 Respostas

T

Troque isto:

# conectanota.resultset.first();  
# tfnome.setText(conectanota.resultset.getString("nome"));

por isto:

if (conectanota.resultset.next())
    tfnome.setText(conectanota.resultset.getString("nome"));  
else
    tfnome.setText("-- Nome não encontrado --");
Jrmanzini

thingol…fiz como vc disse ele imprimiu no textfield que o nome não foi encontrado…mas ele esta no banco access…
oq sera q acontece?

muito obrigado

T

Boa pergunta.
Eu não recomendo usar “select " em programas; só use "” para testar.
Eu sempre recomendo usar “select nome from notas” (ou seja, listar todos os campos que devem ser obtidos).

Jrmanzini

mesmo assin não funcionou

conectanota.executeSQL("select nome from notas"); try { if (conectanota.resultset.next()) tfnome.setText(conectanota.resultset.getString("nome")); else tfnome.setText("-- Nome não encontrado --");

estranho, acho vou tentar refazer…mesmo assim obrigado

Jrmanzini

funcionou thingol…eu refiz as configurações no ODBC…
valeu memo!!!

T

Tem certeza que você está usando o Access certo? Pode ser que você esteja usando um arquivo para visualizar no Access e seu ODBC esteja apontando para outro arquivo (onde a tabela notas está vazia).

Jrmanzini

Era isso mesmo, eu havia criado dois bancos…mesmo refazendo as refêrencias só funcionou quando eu apaguei o outro BD

T

Oba, minha bola de cristal está funcionando bem hoje. Pena que ela funciona só de vez em quando :stuck_out_tongue:

Criado 17 de março de 2009
Ultima resposta 17 de mar. de 2009
Respostas 8
Participantes 2