Erro: No Index currently Active

Delphi

29/10/2008

Bom dia a todos!

Tenho um banco em SQL 2000 server e tenho que recuperar o campo DescricaoLogradouro. eu entro com o código mas eu recebo uma mensagem de erro. ´cdsImpAulaLogradouro: No index currently active´.

o código que eu uso é o seguinte

DMAula.cdsImpAulaLogradouro.Active:=True;
DMAula.cdsImpAulaLogradouro.Open;
DMAula.cdsImpAulaLogradouro.FindKey([DMAula.cdsImportaAulaCodigoLogradouro.Value]);
Logradouro:=DMAula.cdsImpAulaLogradouroDescricaoLogradouro.Value;
DMAula.cdsImpAulaLogradouro.Close;

Se puderem me ajudar
desde já obrigado

Wladmir


Wladmir

Wladmir

Curtidas 0

Respostas

Jc

Jc

29/10/2008

Parece que o [b:417665a2dc]índice [/b:417665a2dc]para este [b:417665a2dc]campo [/b:417665a2dc]não foi [b:417665a2dc]criado [/b:417665a2dc]ou não esta [b:417665a2dc]ativo[/b:417665a2dc].


GOSTEI 0
Wladmir

Wladmir

29/10/2008

Como eu faço para ativar o index.


GOSTEI 0
Jc

Jc

29/10/2008

Como eu faço para ativar o index.


Você usa Tabelas Paradox? Qual seu banco de dados?


GOSTEI 0
Wladmir

Wladmir

29/10/2008

Estou usando SQL 2000 server


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

29/10/2008

Bom dia a todos! Tenho um banco em SQL 2000 server e tenho que recuperar o campo DescricaoLogradouro. eu entro com o código mas eu recebo uma mensagem de erro. ´cdsImpAulaLogradouro: No index currently active´. o código que eu uso é o seguinte DMAula.cdsImpAulaLogradouro.Active:=True; DMAula.cdsImpAulaLogradouro.Open; DMAula.cdsImpAulaLogradouro.FindKey([DMAula.cdsImportaAulaCodigoLogradouro.Value]); Logradouro:=DMAula.cdsImpAulaLogradouroDescricaoLogradouro.Value; DMAula.cdsImpAulaLogradouro.Close; Se puderem me ajudar desde já obrigado Wladmir


use select para trazer o conteúdo. creio que terá melhor performance, além de não haver necessidade de índices.
algo assim:
with DMAula, DMAula.cdsImpAulaLogradouro do
begin
  Close;
  CommandText :=
    ´SELECT * FROM SUATABELA ´+
    ´WHERE CODIGOLOGRADOURO = :CodigoLogradouro´;
  Params.ParamByName(´CodigoLogradouro´).AsString := cdsImportaAulaCodigoLogradouro.AsString;
  Open;

  Logradouro := FieldByName(´DescricaoLogradouro´).AsString;
  Close;
end;



GOSTEI 0
Wladmir

Wladmir

29/10/2008

Valeu Emerson. Funcionou, obrigado pela ajuda.


GOSTEI 0
POSTAR