Fórum ClientDataSet, XML e Query #370279
07/05/2009
0
Pessoal, dúvida cruel: eu preciso gerenciar uma informação BEM SIMPLES e preciso usar ClientDataSet lendo um arquivo XML diretamente. Isso eu fiz: leio, salvo, edito, tudo muito fácil.
Mas eu precisava que uma Query executasse os dados do ClientDataSet. Por exemplo: ligar a Query nesse CDS e passar uma SELECT. Ou, teria como eu executar Query que lesse diretamente no XML? Não vai ter relacionamento nem um sistema de banco de dados por trás (SQL, FIRE, ORACLE), é no puro XML. Como eu faço isso?
Grato,
Willian
Willian
Curtir tópico
+ 0Posts
08/05/2009
Josehenrique
Não sei bem o que vc pretende com a query, mas se for colocar clausulas where , ao invés disso vc pode carregar o ClientDataSet e depois filtrá-lo. Fique atento as opções que o ClientDataSet te dá pois vc pode utilizar fields do tipo TAggregates para substituir o SUM , COUNT e outras funções do select * ...etc
Procure explorar ao máximo o ClientDataSet e vc verá como esse cara é versátil
espero ter ajudado, qq coisa só falar !!
Gostei + 0
08/05/2009
Willian
Mas eu já tinha conhecimento da opção FILTER. Acontece que o FILTER vai apenas FILTRAR a exibição dos dados após eles terem sido carregados (exemplo: carrego toda a tabela com 500 registros para exibir só 10); se eu usasse a Query com o WHERE eu carregaria somente os 10 que eu quero.
Levando em contato o tráfego por Internet isso faz uma grande diferença. Não vou usar SUM, COUNT, etc. Apenas queria carregar somente os dados necessários. Alguma idéia?
Obrigado,
Willian
Gostei + 0
08/05/2009
Josehenrique
Bom se vc faz uma requisição pela internet, vc pode enviar a sentença SQL para a propriedade CommandText do CDS, que irá gerar o arquivo XML que será enviado.
Para que o CDS possa se comunicar com o banco passando a sentença vc tem de setar a propriedade do Provider para [poAllowCommandText=true]
Assim vc faz o CDS aceitar SQL dinâmico e pode gerar os XML com os dados resultantes de querys personalizadas.
Se é que eu entendi a sua arquitetura ....se não ...explique melhor como vc obtem o XML, de onde ele vem..etc....
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)