Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-12-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Consultas SQL V.S. Consultas Clipper

Uso D6, Firebird 1.52, IBX 6.08

Buen día tengan todos ustedes, aqui vengo de nuevo con este problema que me trae muy preocupado, les platico:
En mi aplicación (Facturacion) tengo una consulta de Artículos, dicha consulta se hace la busqueda por la DESCRIPCION del Artículo, la velocidad de las busquedas estan Impecables Super Rápidas, pero ahora me encontre con algo, como las consultas te devuelven los registros que se le piden por ejemplo, busco los artículos con su descripción que comiencen con FR me devuelve todos los que comien FR Correctamente, ahora en el Otro sistema que usaban (Clipper) hacía lo siguiente, les posicionaba en los artículos con descripción FR pero aparte mostraba TODOS los que estaban Antes y Después por ejemplo:

CONSULTA EN CLIPPER BUSCANDO ARTÍCULO FR
....
E1
E2
E3
E4
FR1 <-Cursor se posiciona AQUI Correctamente
FR2
FR3
G1
G2
G3
G4
...

CONSULTA EN FIREBIRD BUSCANDO ARTÍCULO FR
Usando Sentencia=
Select Clave,Descrip from Articulos where Descrip Starting With 'FR'

FR1 <-Cursor se posiciona AQUI Correctamente
FR2
FR3

Sólo devuelve los registros que se le pidieron después de la clausula Where.

He investigado sobre esto para similar lo que hace clipper, pero por lo que he encontrado no recomiendan hacer LOCATE's para dichas consultas, es por eso que quiero encontrar como hacer algo similar pero en SQL que muestre Todos los registros pero que se posicione en donde el usuario vaya pidiendo. Yo se que es una mala técnica de hacer consultas pero asi lo quiere el USUARIO y asi esta impuesto hacerlo gracias a clipper y no entiende que la mejor forma de hacerlo y más rápida, es con consultas exactas.

Agradezco cualquier información y ayuda al respecto.
Responder Con Cita
  #2  
Antiguo 11-12-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
se me ocurre la chapuza de usar una tabla en vez de un query, usar locate y listo
pero como tengas muchos registros lo vas a sufrir
Responder Con Cita
  #3  
Antiguo 11-12-2005
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.408
Poder: 22
fjcg02 Va camino a la fama
Por la experiencia que me da haber migrado el sistema de la empresa para la que trabajé de clipper a delphi+oracle, ya te aconsejo que vayas intentando convencer al usuario de que lo que antes se hacía de una manera ahora se hace en otra. Si no te volverán loco. Al principio, les resultará 'raro', pero acabarán acostumbrandose.
Utiliza consultas parametrizadas, un filtro al empezar para construir las consultas y así poco a poco, llevandoles a tu terreno. Clipper es rápido, pero machaca el ancho de banda de la red.
Espero que te sirva de ayuda.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #4  
Antiguo 12-12-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Asi es

Asi es compañeros, miren, la empresa con la que trabajo tienen 7 sucursales y estoy en la primera casi nos vamos a brincar a la segunda, pero hay 2 usuarios de 8 que no estan conformes con el tipo de consultas, se quedaron acostumbrados con clipper entre esos 2 usuarios esta el DUEÑO de la empresa que en ocasiones se pone a usar el sistema para atender a los clientes y hace poco se Enfurecio del sistema que no podía encontrar 1 Artículo en especial, me acerque y le explique la forma de hacerlo pero NO Entendio, me pidio que lo hiciera igual que el otro porque estaban acostumbrados a buscar cierto artículo y a desplazarte entre el contenido hacía adelante y hacía atrás en busca de los casi 60,000 artículos que manejan, me sorprende la velocidad de Clipper para hacer esos tipos de consultas como si fuesen un LOCATE para mover el cursor entre tanto registro cosa que en firebird sería super lento.

Pero en fin voy hacer pruebas espero salir bien en esto.

Gracias por sus sugerencias y que tengan buen día y Felices Fiestas de Navidad!!!!
Responder Con Cita
  #5  
Antiguo 13-12-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Resuelto

Ahora llegue a la solución, le plantie la forma de que al consultar, se buscarían dentro de la descripción del artículo cadenas de caracteres para llegar al resultado más rápido es decir, si buscan el modelo ó el código del producto del proveedor que es lo que le ponen a las descripciones de los artículos, yo hago la siguiente consulta:
Código SQL [-]
Select *from Tabla where Campo Containing 'QUAK' and Campo Containing 'LTS'

Les comente que son busquedas más exactas y mucho más rapidas que andar buscando en el mundo de artículos a como los tenían antes, y lo bueno que los convencí, espero no cambien de opinión, sinceramente esta es la mejor forma de hacer busquedas dentro de ciertos campos.

Saludos....
Responder Con Cita
  #6  
Antiguo 14-12-2005
FOURIER FOURIER is offline
Miembro
 
Registrado: dic 2005
Posts: 40
Poder: 0
FOURIER Va por buen camino
Espero te sirva

yo creo que deberías de probar con

Select Clave,Descrip from Articulos where Descrip Starting With 'FR' or Descrip>='FR';
eso te debe funcionar para lo que quieres
Responder Con Cita
  #7  
Antiguo 14-12-2005
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.408
Poder: 22
fjcg02 Va camino a la fama
Hola a todos
Yo personalmente pondría una pantalla en la que se pidan varios datos para posteriormente aplicarle un filtro construyendo dinámicamente la consulta.
Por ejemplo, pondría un filtro para buscar por clave, descripción, familia, estado ( stock, reservado, ... ), cualquier dato que manejeis; que sugiera algún filtro al entrar para evitar realizar la consulta de los 60.000 articulos. A partir de ahí, la consulta irá más orientada y la respuesta siempre será más rápida. Este filtro se podría utilizar tantas veces como se quisiera.

Este método me funcionó y la verdad es que los usuarios no pusieron ningún problema. Además, en cuanto se acostumbran y se dan cuenta de que si afinan la consulta el retardo es mínimo, ellos mismos tienden a utilizarlo intensivamente y a mejorarlo. seguro que te sugieren algún dato más para filtrar.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #8  
Antiguo 20-12-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
oki

Gracias por sus Respuestas....

Felices Fiestas!!!!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 07:51:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi