Rodrigo,

Eu já usei muito isso que você indicou, mas seu banco de dados tem que estar 
muito bem planejado, pois se você precisar mudar o tamanho de um campo no BD, 
já precisa ir no programa, atualizar o TField, recompilar e redistribuir o seu 
sistema para que tudo funcione perfeitamente. Se adicionar 1 campo ao result 
set de uma query, terá que adicioná-lo também ao Dataset

Sem adicionar os fields ao DataSet você tem mais flexibilidade nesse sentido.

Tudo depende da sua situação e do que você precisa!!!

Rodrigo Kopke Lopes <[EMAIL PROTECTED]> escreveu: Amigo, eu sinceramente estou 
abandonando os DBWares, por questão de mais controle e segurança sobre o código 
e consequentemente criando uma independência das Camadas de Acesso a Dados( 
MiddleWares ). Bom, mas neste caso, já que se as utiliza, eu aconselharia 
referenciar os campos através dos TFields. Botão Direito do Mouse sobre o 
DataSet( Ex: CDSTal ) e aciona Add All Fields. o Delphi criará um Objeto para 
cada campo daquela Query. E Quais as vantagens sobre isto?  Algumas:
  1 - Resolve esta questão do "FIELDBYNAME" onde vc utiliza a concatenação 
criada (  CDSTAL + CampoTal = CDSTALCampotal.AsString := 'XXX'; )
  2 - Você pode adiantar as atribuições futuras como Display Label, Display 
Format... etc
  3 - Você pode controlar regras de negócios( simulando as triggers do SGBD ) 
com os Eventos BeforePost, AfterPost( Edit, Insert.. etc  OnGetText... )
  Eu utilizaria os poderosos TFields ao invés de FieldByName, creio eu que 
desta forma o Delphi deverá se encarregar com esta questão de ponteiros.
   
  Boa Sorte,
   
  Rodrigo Kopke

Valfrid-Ly Silva Couto  escreveu:
          Luiz,

gostaria só de acrescentar algo.

Não só o FieldByName facilita a leitura do código como se, no caso de uma 
query, se você precisar alterar o result set e seus campos mudarem de ordem, o 
FieldByName continua funcionando, o Fields[01] já vai te dar problemas!

Luiz Escobar  escreveu: o trafeco ? bom depende, se for de droga e for passar 
pela alfandega pode demorar um pouco sim, agora se for o trafego, bem não vai 
influenciar muito não... o que fica " lento " é o seguinte... (lento esta entre 
"" pois não acho significativo não....)

quando vc usa "table1.fieldbyname('blablabla').asstring" ao invez de 
"table1.fields[ 01 ].asstring"
é que o primeiro vai ter que procurar na tabela dos campos da table1 qual a 
posição dele para depois retornar o seu valor o segundo já retorna na hora, 
ficando assim a EXECUÇÃO bem mais rápida, MAS, EU!!!... particularmente uso o 
fieldbyname... fica mais facil a leitura/compreenção do programa... 

agora faz um teste ai vc, o meu teste deu isso ai abaixo.... 1.000.000x dá +/- 
1 segundo de diferença... isso em um P4-1.7Ghz, 748MB-ram, windows-XP-PRO.... 
mas lembre-se 1 milhão de vezes....

var
t1, t2 : tdatetime;
x : integer;

procedure TForm1.Button1Click(Sender: TObject);
begin
label1.caption := '';
t1 := now;
for x := 1 to 1000000 do 
label1.caption := VT1.Fieldbyname('field0').asstring;
t2 := now;
label1.caption := timetostr( t2 - t1 ); // 00:00:04
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
label2.caption := '';
t1 := now;
for x := 1 to 1000000 do 
label2.caption := VT1.Fields[0].asstring;
t2 := now;
label2.caption := timetostr( t2 - t1 ); // 00:00:03
end;

e veja a diferença de tempo entre eles em micros mais modestos.......

Luiz Escobar
Analista/Desenvolvedor:
WEB - HTML/JavaScript/PHP/MySQL 
WINDOWS - Delphi/MyDAC/ASSEMBLER/MySQL/xBase
DOS - Clipper/Assembler xBase
SERVIDORES - NetWare4.11, LINUX-REDHAT9, WINDOWS-2k
LINUX - LAZARUS/Kylix/MySQL;
http://www.megasistema.com.br

----- Original Message ----- 
From: Marcelo 
To: delphi-br@yahoogrupos.com.br 
Sent: Friday, December 08, 2006 2:48 PM
Subject: [delphi-br] Verdade sobre fieldbyname

AMigos da lista, gostaria de saber da experiencia de vcs

Vi em uma lista de discussão que o FieldByName deixa o tráfeco mais 
lento. Isso é verdade?

Desde já agradeço a todos

[As partes desta mensagem que não continham texto foram removidas]

-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Links do Yahoo! Grupos

Valfrid-Ly Silva Couto
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
ICQ 15114646

---------------------------------
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. 
Registre seu aparelho agora!

[As partes desta mensagem que não continham texto foram removidas]



         

   
---------------------------------
 Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. 
Registre seu aparelho agora!

[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Links do Yahoo! Grupos

 



Valfrid-Ly Silva Couto
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
ICQ 15114646
                
---------------------------------
 Você quer respostas para suas perguntas? Ou você sabe muito e quer 
compartilhar seu conhecimento? Experimente o Yahoo! Respostas!

[As partes desta mensagem que não continham texto foram removidas]

Responder a