ORDER BY não funciona no clientdataset

Delphi

19/08/2005

Tenho uma aplicação usando IBX + CLIENTDATASET na qual faço a ordenação dos registros pelo proprio SQL (order by), ocorre que o aplicativo funciona normalmente em S.O. (Win 98, Win XP Home, Win XP Pro, Win 2003) mas não esta se comportando da mesma maneira no Win 2000 Server onde é o ambiente do cliente. Neste S.O. os registros não ficam ordenados de acordo com o order by que esta no sql select.

Alguem saberia o porque não funciona da mesma forma que nos outros S.O. ?

Sei que é possível ordenar o proprio CDS pelo IndexFieldNames ou criar um indice fixo no CDS, mas gostaria de saber o por que do comportamento diferente neste sistema operacional.

Obrigado.


Andreaskaquino

Andreaskaquino

Curtidas 0

Respostas

Beppe

Beppe

19/08/2005

Oi!

Pode passar mais informações sobre as propriedades dos comps?


GOSTEI 0
Andreaskaquino

Andreaskaquino

19/08/2005

Estou usando os seguintes comp...

IBTransaction (AutoStopAction = saCommit)

IBQuery (UniDirectional = True)

DataSetProvider (
Options = [poCascadeDeletes,poCascadeUpdates]
UpdateMode = upWhereKeyOnly)

ClientDataSet

Dentro dos parenteses, estão as propriedades que foram modificadas o resto ficou com o default trazido pelo Delphi.

Grato


GOSTEI 0
Kenio_c

Kenio_c

19/08/2005

O ClientDataSet Possui uma propriedade chamada IndexFieldNames, digite o nome do campo q vc deseja ordenar, o componente faz o resto


GOSTEI 0
Andreaskaquino

Andreaskaquino

19/08/2005

Usei o CDS.IndexFieldNames := ´NOME DO CAMPO´ mas não ordenou corretamente, somente criando os indices no IndexDefs e utilizando o nome do indice ordenou corretamente.

A minha pergunta é quanto a diferença entre as duas formas de se fazer, qual a vantagem de se utilizar um ou outro ???

Grato,


GOSTEI 0
POSTAR