Pesquisa e deslocamento: LOCATE, GOTOKEY OU FINDKEY
Boa Noite Amigos
Preciso fazer uma leitura em uma tabela X, de um campo não chave, com indice secundario, mas neste momento eu que estou fazendo uma inclusão na mesma tabela. Por isso não posso usar o comando LOCATE pois este deslocaria a tabela para a primeira ocorrência encontrada.
Gostaria de saber qual o comando que uso para que seja possível apenas
verificar se o registro já existe ou não, sem deslocar no registro encontrado.
Entendo que todos os comandos de pesquisa deslocam na tabela, certo?
Muito Obrigado
Alex
Preciso fazer uma leitura em uma tabela X, de um campo não chave, com indice secundario, mas neste momento eu que estou fazendo uma inclusão na mesma tabela. Por isso não posso usar o comando LOCATE pois este deslocaria a tabela para a primeira ocorrência encontrada.
Gostaria de saber qual o comando que uso para que seja possível apenas
verificar se o registro já existe ou não, sem deslocar no registro encontrado.
Entendo que todos os comandos de pesquisa deslocam na tabela, certo?
Muito Obrigado
Alex
Alexsandro
Curtidas 0
Respostas
Buosinet
16/02/2005
Se você estiver usando o ClientDataSet, pode criar um segundo ClientDataSet, clone do primeiro, com o método ´CloneCursor´. Aí vc pode dar locate no segundo, e o primeiro fica parado. Mas qualquer operação no segundo (Edit, Insert, Post, Cancel) reflete no primeiro, portanto, cuidade.
GOSTEI 0
Alexsandro
16/02/2005
Gostei de sua idéia amigo. Gostaria de saber se eu usar uma query também não afeta o primeiro dataset, ou seja, continuo na inclusão.
Obrigado,
Alex
Obrigado,
Alex
GOSTEI 0
Gandalf.nho
16/02/2005
Gostaria de saber se eu usar uma query também não afeta o primeiro dataset, ou seja, continuo na inclusão.
Pode usar outro dataset normalmente.
GOSTEI 0
Buosinet
16/02/2005
A forma de carga dos dados é indiferente, o que você não pode fazer é dar insert, edit, post e cancel no segundo ClientDataSet, pois estas operações afetam o primeiro.
Veja no Help do Delphi o método CloneCursor, é bem claro...
Boa Sorte,
Buosi
Veja no Help do Delphi o método CloneCursor, é bem claro...
Boa Sorte,
Buosi
GOSTEI 0
Alexsandro
16/02/2005
Meus Amigos,
Estou usando um Data Module. Logo, no meu FORM eu não tenho nenhum DATASET ou TABLE. Vocês estão sugerindo que eu simplesmente coloque um DATASET no meu FORM, somente para usar o LOCATE? Dessa forma isso não vai deslocar o outro DATASET do DATA MODULE?
Legal, agradeço a sua confirmação.
Alex
Estou usando um Data Module. Logo, no meu FORM eu não tenho nenhum DATASET ou TABLE. Vocês estão sugerindo que eu simplesmente coloque um DATASET no meu FORM, somente para usar o LOCATE? Dessa forma isso não vai deslocar o outro DATASET do DATA MODULE?
Legal, agradeço a sua confirmação.
Alex
GOSTEI 0
Alexsandro
16/02/2005
SOBE
GOSTEI 0