Problemas con la propiedad filter en ADO

Te envío este correo para ver si puedes sacarme de una dudilla que me está pasando al realizar una aplicación con Delphi 5 atacando SQL Server con ADO. Te cuento, he estado intentando hacer búsquedas dentro de un DbGrid mediante la propiedad Filter, pero cuando cambio las FilterOptions, me da un error de que no se soportan. En cambio hago el mismo proceso sin usar ADO, directamente con el BDE y traga perfectamente si cambio las FilterOptions. La verdad es que no entiendo el problema.
A ver si me puedes sacar del apuro.

1 respuesta

Respuesta
1
Efectivamente, las ADODataSet tiene limitaciones sobre sus contrapartes del BDE.
De hecho, estas son:
*No soporta las FilterOptions
*El método Locate no soporta las TLocaleOptions totalmente
*El método Locate es mas lento que una busqueda de SQL.
*No existe soporte a constraints.
Te recomendaría que utilices una sentencia SQL en vez del filtro para tus búsquedas, o bien, uses la propiedad Findkey o locate, dependiendo del tipo de indice que uses.
¿Cómo lo tendría que hacer con findkey?
No puedo utilizar sólo Locate, porque tengo que buscar todos los registros que cumplen esa condición, y no sólo el primero, que es lo que devuelve Locate.
Gracias de antemano.
En tal caso tampoco te serviría FindKey. Tanto Locate como FindKey buscan el primer registro que cumpla con la igualdad.
Te recomiendo usar un ADOQuery si lo que necesitas es un subconjunto derivado de un dataset que deba cubrir una condición de búsqueda.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas