VB.NET - ADO

DINHORSO 08/02/2011 22:40:28
#364766
Estou migrando aos poucos para o Vb.NET meu primeiro aplicativo usa o Base Firebird e uso o metodo ADO para conectar a base quero usar a seguinte rotina para mudar de um registro para o outro porem ao clicar duas vezes em proximo ou anterior aparece uma mensagem de erro. segue o codigo


Private Sub cmdBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBuscar.Click
tbSetor.MoveNext()
If tbSetor.EOF = False Then
Call AbrirDados()
Else
tbSetor.MovePrevious()
MsgBox([Ô]Último registro da base de dados[Ô])
End If

End Sub

Private Sub cmdExcluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdExcluir.Click
tbSetor.MovePrevious()
If Not tbSetor.BOF Then
Call AbrirDados()
Else
tbSetor.MoveNext()
MsgBox([Ô]Primeiro registro da base de dados[Ô])
End If
End Sub

ERro: BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual.
DINHORSO 09/02/2011 20:49:54
#364914
Lembrando uso o vb 2005 e sou novato simplesmente peguei o mesmo codigo que uso no vb6, porém esta aparecendo o erro. E a base contem registros sim.
PEGUDO 09/02/2011 23:29:45
#364924
Resposta escolhida
Cara acho que toda vez que você clicar nos botões [Ô]Próximo[Ô] ou [Ô]Anterior[Ô], você devia consultar o BD de novo para ver se realmente existem dados a serem verificados.

Deste jeito que você está fazendo você clica no botão próximo ou anterior, lê o BD, alimenta o Recordset e, depois que o recordset é lido, é esvaziado.
Acho que por isso ele dá este erro de que requer um registro atual.

Tente colocar um código para que o programa verifique o BD toda vez que for clicado nos botões Anterior ou próximo.
MARCOSLING 10/02/2011 00:05:35
#364929
Se vc está usando .Net, pq não usa o ADO.NET?
Tópico encerrado , respostas não são mais permitidas