PDA

Ver la Versión Completa : Ubicar registro con Interbase


BlueSteel
13-09-2004, 22:12:33
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

jachguate
14-09-2004, 00:04:48
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.

;)

BlueSteel
14-09-2004, 00:30:55
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), ?

eyscom
14-09-2004, 01:05:44
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;