Esqueci de terminar a observação que estava digitando!

Queria dizer que, dependendo do tipo de acesso q vc irá fazer (BDE, ADO/dbGo, 
dbExpress, etc.), pode ser que a referida camada de acesso introduza novas 
classes de objetos TField para peculiaridades e/ou funcionalidades que a camada 
de acesso forneça. Tem que prestar atenção nisso daí!

Fora isso... boa sorte!
Sds.

________________________________
To: delphi-br@yahoogrupos.com.br
From: [EMAIL PROTECTED]
Date: Tue, 30 Sep 2008 14:23:30 +0000
Subject: RE: [delphi-br] duvida sobre querys


Tal método (AddAllFields) para definição de campos não existe!
Isto realmente é apenas mera especulação!

Se quiser que uma consulta tenha sempre todos os objetos TField criados de 
acordo com os campos que são retornados no SELECT, independente do que vc use 
como componente de consulta (TQuery, TADOQuery, TSQLQuery, etc.), o q vc tem 
que fazer é o seguinte:

1) Antes de abrir a consulta, criar uma outra consulta à parte que nao retorne 
registro algum, apenas os campos da consulta original;
2) Efetuar um open nessa outra consulta;
3) Para cada campo retornado dessa outra consulta, analisar o tipo de dados do 
mesmo e criar um objeto TField respectivo e adicioná-lo a lista de campos da 
consulta original.

Uma observação: dependendo do tipo de acesso q vc irá fazer (BDE, ADO/dbGo, 
dbExpres

A janela Fields Editor do IDE do Delphi já faz isso pra vc de bandeja. 
Portanto, em resumo, o q vc quer é fazer o trabalho do Fields Editor em tempo 
de execução. Teoricamente, o q vc tem que fazer é o que relatei nos passos 
anteriores. Não tenho exemplo disso, pois nunca tive necessidade de criar 
campos com esse nível de necessidade q vc tem.

Boa sorte.
Sds.

________________________________
To: delphi-br@yahoogrupos.com.br
From: [EMAIL PROTECTED]
Date: Tue, 30 Sep 2008 11:06:37 -0300
Subject: Re: [delphi-br] duvida sobre querys

query.addallfields;

esse exmplo ta um poco bizarro, mais não achei jeito melhor de
expressar o que estava precisando, gostaria que em tempo de execução
dependendo da tabela selecionada a query assuma os campos na hora, no
caso se eu do um OPEN ele assume os campos, mais necessito que esses
campos ainda fiquem na query mesmo depois do CLOSE, sendo substuido
apenas quando a tabela do selec for mudada e com isso assumindo os
novos campos

2008/9/29 Rubem Nascimento da Rocha <[EMAIL PROTECTED]>:
>
> Objetos TField ligados a um dataset que está consultando dados diretamente
> de um SGBD¹ devem, obrigatoriamente, ter seus respectivos campos fisicamente
> já definidos em tabelas do banco de dados. Para este tipo de dados, o máximo
> q vc pode fazer é criar um campo calculado (tipo fkCalculated) e definir um
> evento no seu formulário/data module para tratar tais campos. Mas a criação
> de campos calculados só deve acontecer com o dataset fechado. Procure que vc
> vai achar exemplos na Internet de como criar campos calculados.
>
> Agora, se o seu caso é criar campos temporários em um dataset, faça isso em
> um ClientDataSet, criando campos do tipo ftInternalCalc e configurando-os
> adequadamente para que, em uma atualização em um SGBD, as atualizações em
> tais campos não sejam aplicados ao banco de dados, pois tais campos no banco
> de dados realmente não existem. Se vc nunca usou ClientDataSet, eis uma boa
> oportunidade. Tem material a botão na Internet relacionado com este
> componente.
>
> Boa sorte.
> Sds.
>
> P.S.: (1) SGBD - Sistema Gerenciador de Banco de Dados
>
> ________________________________
> To: delphi-br@yahoogrupos.com.br
> From: [EMAIL PROTECTED]
> Date: Mon, 29 Sep 2008 15:04:44 -0300
> Subject: [delphi-br] duvida sobre querys
>
> gostaria de saber se existe alguma maneira de eu inserir os campos de
> uma tabela numa query em tempo de execução
>
> --
> Leonardo Carlos Baldino - The Highlander

_________________________________________________________________
Confira vídeos com notícias do NY Times, gols direto do Lance, videocassetadas 
e muito mais no MSN Video!
http://video.msn.com/?mkt=pt-br

Responder a