ADO x Windows XP

20/12/2003

1

Este tópico foi criado por mim, mas a dúvida foi enviada por e-mail para o Gladstone , editor da revista que pediu para eu postar e o pessoal dar a sua opinião. Quem souvber por favor ajude o Sr. Sigelman


Tenho um sistema que rodo no windows 2000 perfeitamente, porém quando coloco o sistema para rodar no windows XP, ele da erro de EOF e BOF. O caso é o seguinte, eu uso ADO com o Jet OLEDB 4.0 da Micro Soft, para fazer conexão com o banco de dados que é um MDB do ACCESS, até ai tudo bem, mas quando eu uso um ADOQuery para pesquisar dados em uma tabela ( select * from tabela where campo=:p1 and campo=:p2) e se acaso esta Query não me retornar dados ou seja a Query está vazia (ADOQuery1.IsEmpty). Ai numa segunda vez que eu preciso passar os novos valores dos parâmetros, é natural que antes de eu passar os novos valores destes parâmetros eu feche a Query ex. ADOQuery1.Close. É neste momento que ocorre o erro, uma mensagem dizendo que o BOF ou o EOF são verdadeiros e a tabela deve estar num registro atual, ou seja, como a pesquisa anterior foi vazia, o ponteiro está no EOF e ai ele não deixa eu fechar a Query (ou tabela). Como sair desta, me tire desta...

Diante disto, acho que o componente ADO do delphi deve ser incompatível com o XP, se for verdade isto deve ser publicado, para que os outros também fiquem sabendo, e a Borland verificar a incompatibilidade.


Responder

Posts

20/12/2003

Bon Jovi

Se a versão do seu Delphi for a 5, verifique se é 5.0.6.18 Update pack 1. Se não for, deverá atualiza-lo com packs disponíveis na Borland.


Responder

20/12/2003

Nerdex

Bon Jovi, está correto, tmb tive este problema... Por um acaso, dei uma olhada no site da Borland e: surpresa! existe um bug no uso do Delphi5 para o MDAC no XP.
Não cosegui instalar services packs para o meu Delphi5, motivo: licensas:
Solução instalei o Delphi7 com MDAC 2.7 - fim de problemas...
EOF & BOF (são diretrizes do início e fim de regitros em uma tabela).


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira