Utilizar indices no delphi
Criei indices para uma tabela paradox via database desktop. Como faço para utilizalos no delphi?
Eles aparecem na propriedade Index Name da Table. Mas não sei como utilizalos para localizar um registro.
No clipper eu utilizava o comando dbseek, mas este não existe no Delphi.
Se alguém puder me ajudar.
Obrigado,
Douglas Chagas.
Eles aparecem na propriedade Index Name da Table. Mas não sei como utilizalos para localizar um registro.
No clipper eu utilizava o comando dbseek, mas este não existe no Delphi.
Se alguém puder me ajudar.
Obrigado,
Douglas Chagas.
Doug_chagas
Curtidas 0
Respostas
Aroldo Zanela
23/08/2003
Colega,
É praticamente a mesma coisa, mas ao invés de função, utilizamos o método findkey.
Exemplo em Clipper:
Em Delphi com tabelas desktop (Paradox e xBase):
É praticamente a mesma coisa, mas ao invés de função, utilizamos o método findkey.
Exemplo em Clipper:
If TABELA -> (!dbSeek( nChave )) ... Faça algo EndIf
Em Delphi com tabelas desktop (Paradox e xBase):
if not tbTabela.FindKey([ nChave ]) then begin ... Faça algo end;
GOSTEI 0
Doug_chagas
23/08/2003
[quote:78fc12bbb9=´Aroldo Zanela´]Colega,
É praticamente a mesma coisa, mas ao invés de função, utilizamos o método findkey.
Exemplo em Clipper:
Em Delphi com tabelas desktop (Paradox e xBase):
[/quote:78fc12bbb9]
Funcionou, mas no clipper ele localiza pedaços de strings como por exemplo nome. Se eu digitar no clipper somente as primeiras letras de um nome ele localiza o mais proximo. já esse findkey localiza só strings exatas.
Vc sabe como faço para localizar semelhante ao clipper?
Valew.
Douglas Chagas.
É praticamente a mesma coisa, mas ao invés de função, utilizamos o método findkey.
Exemplo em Clipper:
If TABELA -> (!dbSeek( nChave )) ... Faça algo EndIf
Em Delphi com tabelas desktop (Paradox e xBase):
if not tbTabela.FindKey([ nChave ]) then begin ... Faça algo end;
Funcionou, mas no clipper ele localiza pedaços de strings como por exemplo nome. Se eu digitar no clipper somente as primeiras letras de um nome ele localiza o mais proximo. já esse findkey localiza só strings exatas.
Vc sabe como faço para localizar semelhante ao clipper?
Valew.
Douglas Chagas.
GOSTEI 0
Aroldo Zanela
23/08/2003
Colega,
Neste caso é só utilizar o método FindNearest, porém, este método não retorna valor e dependendo da situação, vc poderá combinar os dois métodos para obter o realtado desejado. Mais detalhes no help do Delphi.
Se ainda não conseguir, posta aqui o fragmento do código e detalhes do que necessida que a gente te ajuda.
Neste caso é só utilizar o método FindNearest, porém, este método não retorna valor e dependendo da situação, vc poderá combinar os dois métodos para obter o realtado desejado. Mais detalhes no help do Delphi.
Se ainda não conseguir, posta aqui o fragmento do código e detalhes do que necessida que a gente te ajuda.
GOSTEI 0
Bacalhau
23/08/2003
É assim:
Supõe que tens uma tabela CLIENTES.DB com os seguintes campos:
Código -> é indice primário
Nome -> é um campo definido pelo indice CLINOME
Para aceder à tabela através do indice CLINOME, escreves o seguinte código:
table1.tablename := ´CLIENTES.DB´;
table1.indexname := ´CLINOME´;
table1.open;
table1.setkey;
table1.fieldbyname(´Nome´).asstring := <o que quero pesquisar>;
table1.gotonearest;
Para alterar o indice escreves:
table1.indexname := ´´; // passa para o primário que é o Código
Se houver mais indices simplesmente alteras com a linha table1.indexname := <nome que definiste>
Agora sê feliz!!! (eheheheh)
Bacalhau
Supõe que tens uma tabela CLIENTES.DB com os seguintes campos:
Código -> é indice primário
Nome -> é um campo definido pelo indice CLINOME
Para aceder à tabela através do indice CLINOME, escreves o seguinte código:
table1.tablename := ´CLIENTES.DB´;
table1.indexname := ´CLINOME´;
table1.open;
table1.setkey;
table1.fieldbyname(´Nome´).asstring := <o que quero pesquisar>;
table1.gotonearest;
Para alterar o indice escreves:
table1.indexname := ´´; // passa para o primário que é o Código
Se houver mais indices simplesmente alteras com a linha table1.indexname := <nome que definiste>
Agora sê feliz!!! (eheheheh)
Bacalhau
GOSTEI 0