Array
(
)

ADO trabalha com índices?

Sarnhold
   - 06 dez 2005

Estou transferindo um sistema de BDE para ADO e PARADOX para ACCESS. Transportou alguns índices, mas quando tento trabalhar com posicionamento através de um índice, não funciona. Por exemplo o método FINDKEY, tentei substituí-lo pelo SEEK, mas dá uma mensagem de que o provedor não está apto para trabalhar com índices.

Lembrando que findkey não faz o mesmo que setrange. Sou leiga no assunto, mas pelo que entendi o findkey somente posiciona, não faz filtro, enquanto que setrange faz um filtro. Se eu estiver equivocada me corrijam.

Por favor, alguém sabe qual o comando que substitui no FINDKEY para ADO?

É muito Urgente!!!!


Obrigada.


Sarnhold
   - 06 dez 2005

Se possível gostaria de fazer com instruções SQL, mas por enquanto utilizo banco de dados Access.

Por tanto se alguém souber passar um exemplo de como posso fazer FINDKEY, FINDNEAREST E LOCATE via sql, eu agradeço, pois futuramente iremos migrar para banco de dados SQL.

Obrigada.

Abraço.


Adalberto
   - 06 mar 2006

Sim. O ADO trabalha com índices. No Visual Basic isto é indicado no momento de abrir a tabela, passando no parâmetro Options a constante adCMDTableDirect, ou será gerado um erro dizendo que o Provedor não suporta índices. No Delphi existe uma propriedade em ADOTable chamada TableDirect (valores True / False), mas não testei para verificar se é a mesma propriedade. É quase certeza que sim...

Boa sorte...


Adalberto
   - 06 mar 2006

Sim. O ADO trabalha com índices. No Visual Basic isto é indicado no momento de abrir a tabela, passando no parâmetro Options a constante adCMDTableDirect, ou será gerado um erro dizendo que o Provedor não suporta índices. No Delphi existe uma propriedade em ADOTable chamada TableDirect (valores True / False), mas não testei para verificar se é a mesma propriedade. É quase certeza que sim...

Boa sorte...


Aroldo Zanela
   - 06 mar 2006

Colega,

Os componentes para ADO não possuem método FindKey, mas você pode substituir pelo método Locate. (Veja a sintaxe no help) Entretanto, a performance do Access em pesquisas é inferior ao Paradox, bem como, o ideal é você utilizar consultas SQL restritivas para otimizar a performance de suas consultas neste contexto.


Paullsoftware
   - 06 mar 2006

complementando o que o amigo Aroldo falou, no access vc possui as consultas que são como SP,Triggers do Interbase e vc pode usál-as para simplificar seus códigos e melhorar o desempenho de suas aplicações...