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]