![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Como localiso un registro sin Locate
Hola
Mi problema es que tengo una base de datos en red, y utilizo Interbase, junto con Delphi 5, el problema es que cuando quiero ponerme en un registro con locate, si funciona pero tarda mucho, alguien sabe de algun forma de que no se tarde tanto. O de realizar el procedimiento sin Locate, Gracias |
#2
|
||||
|
||||
Hola
Lo unico seria realizar filtro utilizando IBQuerys Salu2
__________________
BlueSteel |
#3
|
|||
|
|||
Yo supongo que la lentitud se debe a que el método Locate requiere tener todos los registros a la mano, lo que implica que primero debe transferirlos todos del servidor al cliente.
La solución pasa por cambiar el enfoque de las cosas. En lugar de usar un DataSet asociado a miles de registros, conviene más usar SQL para las búsquedas:
Bye |
#4
|
|||
|
|||
Lo voy a intentar Gracias por su ayuda
![]() |
#5
|
||||
|
||||
Localizar... palabra del castellano que significa encontrar, averiguar el lugar en donde se halla alguien o algo, determinar su posición... se escribe con z.
![]() Bueno, luego de esta introducción quisiera invitar a discutir sobre este tema partiendo del hecho de que es necesario que mi aplicación muestre los resultados en una tabla, pero como dice nuestro amigo eveprogram, al usar el método Locate el tiempo es excesivo si requiero localizar un registro de una consulta mostrada a través de un TDataSet, digamos un TQuery, y más aún si este registro se encuentra varios miles de posiciones más adelante del primero. Hay que anotar que la ayuda sobre el componente (TIBCustomDataSet) nos dice esto: Cita:
Dice que Locate usa el método más rápido posible para localizar las registros coincidentes. Que si los campos de búsqueda están indizados (o indexados) y el índice es compatible con las opciones de búsqueda, Locate usa el índice. Que si no es así, entonces el método crea un filtro para la búsqueda. Como he trabajado mucho con los componentes BDE sé que efectivamente al menos con Paradox estas búsquedas son rápidas, ... ... pero usando los MDO (basados en los componentes IBX), el método Locate pareciera realmente hacer un recorrido uno a uno sin usar índices y sin realizar filtros de búsqueda. Esto quiere decir que la ayuda acerca de este método o bien miente o los MDO tienen problemas para usar los índices o construir los filtros de búsqueda. Ya miraré los IBX, que aunque los he trabajado, de eso ya hace un tiempo y la verdad no recuerdo haber tenido inconvenientes, pero ahora no sé, debo revisar otra aplicación para estar seguro de esto. Entonces, cuál es la solución? Espero no tener que llegar a usar un TClientDataSet ya que al abrir una consulta con este componente se llevan todos los registros del servidor al cliente, y si son muchos miles... el tiempo es oro... el tiempo de los clientes... je je. Si alguien sabe de esto... ![]() ![]() Saludos. PD. Un asunto similar, pero bastante relacionado con este tema se trata en este hilo: http://www.clubdelphi.com/foros/show...ghlight=locate
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre. Última edición por mlara fecha: 09-04-2008 a las 21:25:01. |
#6
|
|||
|
|||
Bueno eso es cierto lo del tiempo es oro, pero a mi si me funciono la forma que me sugirieron, por que no tratas eso, y otro cosa no soy amigo, soy amiga
suerte |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como posicionarme en un registro sin locate? | Gaim2205 | Conexión con bases de datos | 10 | 03-01-2008 16:57:58 |
Ubicar el siguiente registro de un LOCATE ?? | amadis | Conexión con bases de datos | 2 | 13-10-2007 15:58:48 |
como funciona la sentencia locate para campos multiples | lugabame | Tablas planas | 3 | 17-05-2007 07:52:34 |
Cómo se usa la función Locate? | Javi2 | Varios | 4 | 25-04-2007 10:52:00 |
Como utilizo la propieadad locate de un ibQuery | morfeo21 | Varios | 5 | 15-07-2005 23:20:03 |
![]() |
|