FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Ubicar registro con Interbase
Hola.. tengo la siguiente duda:
Tengo Interbase 6, genere una Base y tablas que tienen definidos sus indices primarios.. Cuando quiero consultar por un registro ( es decir, buscarlo) lo realizo de la siguiente forma : IBT_Clase es una tabla de Interbase If IBT_Clase.Locate('Cla_Codigo',Var_Cod.Text,[]) Then Begin Realizo proceso en caso de encontrar lo que busco ; End Else Begin Realizo proceso en caso de no encontrar lo que busco; End; Hasta el momento me funciona bien eso... pero no se si estaré utilizando todo el potencial de los índices... más bien me parece una busqueda secuencial... existirá otra forma de buscarlo, que sea más eficiente..... Gracias
__________________
BlueSteel |
#2
|
||||
|
||||
Es mucho mas eficiente lanzar un query contra el servidor de la base de datos, que es en el único lugar donde se aprovechan los indices. La ayuda del locate del TIBDataset que supongo que es lo que usas, no aclara nada, pero regularmente este método es secuencial.... y parece no haber un FindKey o algo equivalente.
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
||||
|
||||
Gracias...
pero de que forma tendría que realizar la consulta para la busqueda que quiero realizar... La consulta es diferente cuando es una TABLA y un QUERY (Interbase), ?
__________________
BlueSteel |
#4
|
|||
|
|||
Para localizadar un registro usando un IBTable o un Query
IBT_Clase.Close; IBT_Clase.SelectSql.Text:='SELECT * FROM TABLA1 WHERE CAMPO_TABLA =:CAMPO'; IBT_Clase.ParamByName('CAMPO').AsString:='Juan'; IBT_Clase.Open; If IBT_Clase.eof then begin 'No lo encontro'; end else begin 'Encontro'; end; |
|
|
|