Locate Lento

Delphi

28/04/2006

Boa Tarde Pessoal
Estou tendo problemas com meu locate, onde utilizado para setar a o ponto onde desejo fazer a alteraço na tabela, isto tenho um dbgrid com varios clientes, no momento do pressiono enter em cima de algum nome e faço o seguinte:

DM_Base.SDSClientes.DisableControls;
DM_Base.SDSclientes.Open;

DM_BASE.SDSclientes.Locate´COD_CLIENTE´,IntToStr SQLPesquisaCOD_CLIENTE.Value),[loPartialKey]);
DM_Base.SDSClientes.EnableControls;

Com isso o tempo de demorra esta grande, devido ao grande numero de cadastro q possuo, alguem uma forma mais rapida de fazer?


Kenio_c

Kenio_c

Curtidas 0

Respostas

Marcio.theis

Marcio.theis

28/04/2006

O seu grid está ligado o DM_Base.SDSclientes ? Pois se tiver, não é preciso efetuar este locate, basta alterar, pois a tabela já estará posicionada.


GOSTEI 0
Kenio_c

Kenio_c

28/04/2006

Naum ele esta ligado a uma query normal


GOSTEI 0
Tdqr

Tdqr

28/04/2006

nao sei se adiantara pois costumo ter esse tipo de problema também ... mas voce ja tentou ao inves de usar o locate usar o findkey?
e outra , troque a propriedade packetrecords do clientDataSet para 1
Se alguem tiver uma melhor solução por favor ajude , pois tb encontro problemas algumas vezes


GOSTEI 0
Edilcimar

Edilcimar

28/04/2006

O campo pesquisado está indexado?


GOSTEI 0
POSTAR