![]() |
Ubicar registro con Interbase
Hola.. tengo la siguiente duda:
Tengo Interbase 6, genere una Base y tablas que tienen definidos sus indices primarios.. :p Cuando quiero consultar por un registro ( es decir, buscarlo) lo realizo de la siguiente forma : :o IBT_Clase es una tabla de Interbase :rolleyes: 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 :D |
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. ;) |
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), ? |
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; |
La franja horaria es GMT +2. Ahora son las 12:36:36. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi