Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-05-2004
Avatar de gzerox
gzerox gzerox is offline
Miembro
 
Registrado: may 2004
Ubicación: Edo Nueva Esparta, Venezuela
Posts: 10
Poder: 0
gzerox Va por buen camino
Question Problemas Con Locate

Existe alguna forma de evitar el uso de locate y locatenext en interbase?, tengo una tabla llamada creditos, que tiene como campos clave año(integer) y codigo(varchar), las tabla tiene alrededor de 900 registros y a la hora de buscar un registro por su cualquier campo demora demasiado, tengo demas en la tabla un campo Calculado (COMPUTED BY) que me une los dos campos claves en uno Año-Codigo,

Existira alguna forma de seleccionar el registro que busco con una sentencia SELECT?
Responder Con Cita
  #2  
Antiguo 19-05-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por gzerox
Existira alguna forma de seleccionar el registro que busco con una sentencia SELECT?
Seguramente sí; utilizando una condición WHERE en el SELECT.

// Saludos
Responder Con Cita
  #3  
Antiguo 19-05-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
select * from mitabla where campo = valor

a eso te refieres, parece que es muy elemental la pregunta y se hubiera solucionado con un poco de investigacion
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #4  
Antiguo 19-05-2004
Avatar de gzerox
gzerox gzerox is offline
Miembro
 
Registrado: may 2004
Ubicación: Edo Nueva Esparta, Venezuela
Posts: 10
Poder: 0
gzerox Va por buen camino
Lightbulb

Se utilizar las sentencias SQL SELECT, lo que queria decir es si hay algunas forma de uan vez Ejecutada una SENTENCIA SQL del tipo SELECT * FROM TABLA
sera posible utilizar otro SELECT para posicionarse en un registro especifico, sin filtrar la tabla, al estilo de LOCATE?
Responder Con Cita
  #5  
Antiguo 20-05-2004
Avatar de Voutarks
Voutarks Voutarks is offline
Miembro
 
Registrado: jul 2003
Ubicación: Islas Canarias
Posts: 118
Poder: 21
Voutarks Va por buen camino
Me parece que tu error es de concepto.

Dices que tu tabla tiene 900 registros, que son muy pocos por cierto, y que te tarda al hacer un locate y al contestarte que lo hagas con SQL dices que ya tomas los datos con SQL y luego buscas con locate; por lo cual entiendo que adquieres todos los registros y luego buscas: ahí esta el error.

Si traes toda la tabla, ¿para que necesitas hacer eso?. Me explico.

Para mi el método correcto es elegir de entrada mediante SQL extrictamente los datos que se necesitan y nada más.

SI necesitas un registro, será ese el que pidas.

Si se pide un conjunto de registros (dataset), casi siempre es debido a que se necesitan para mostrar al usuario en un control tipo Grid tras haberse realizado una busqueda con criterios concretos. Aquí no tiene sentido mostrar más de 150 registros en el Grid, sería muy pesado de manejar para el usuario, si esto ocurre es conveniente informarle para que pueda hacer una búsqueda más definida. Cuando los registros esten el el grid será el usuario el que mueva el cursor local a traves de ellos para luego hacer las operaciones que desee así que practicamente nunca va a tener que localizar tu programa los registros.

Sobre lo que preguntas es posible poner filtros a los dataset y otros métodos pero pienso que lo que te comento es mejor, acabas con el problema, no tiene que utilizar locate ni ninguna cosa similar y tu programa ira mejor. Además creo que así está mejor diseñado para una futura expansión, como el crecimiento de la base de datos o la puesta en marcha o crecimiento en una red.
__________________
Emilio J. Curbelo
Responder Con Cita
Respuesta



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 10:49:12.


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