Pegar valor de um field cujo não esteja na lista dos fields

08/12/2005

0

galera eu tenho uma tabela com dois fields
select indice, nome from funcionario

mais vai existir uns casos que eu irei precisar usar mais dois ou tres fields mais eu não quero adicionar eles na tabela, pois eu uso em muitos outros lugares ai vai pesar na performace.


Como faço pra capturar o valor desses novos fields?


Marcos Fernando

Marcos Fernando

Responder

Posts

09/12/2005

Eniorm

acho que não é possível, pois seu select gera apenas 2 fields, mesmo que a tabela possui outros.... o lance vai ser vc acrescentar os fields no select para poder usar.


Responder

09/12/2005

Bruno Belchior

Acho q a questão do colega não é adicionar no SQL, ele adicionou mas não consegue acessá-los porque não os tornou perssistentes no DataSet... Acho q tem duas opções:
[list:563e638818][*:563e638818]Não coloca nenhum TField na perssistênca e acessa tudo via FieldByName ou equivalente;
[*:563e638818]Receba isso em outro DataSet;[/list:u:563e638818]


Responder

09/12/2005

Adriano Santos

[quote:a52b3b7fed=´Bruno Belchior´]Acho q a questão do colega não é adicionar no SQL, ele adicionou mas não consegue acessá-los porque não os tornou perssistentes no DataSet... Acho q tem duas opções:
[list:a52b3b7fed][*:a52b3b7fed]Não coloca nenhum TField na perssistênca e acessa tudo via FieldByName ou equivalente;
[*:a52b3b7fed]Receba isso em outro DataSet;[/list:u:a52b3b7fed][/quote:a52b3b7fed]

Concordo com a primeira opção que o [b:a52b3b7fed]Bruno[/b:a52b3b7fed] passou. Há anos não uso os campos declarados no DataSet, só acesso via FieldByName.


Responder

09/12/2005

Bruno Belchior

Eu uso eles, acho q da maneira mais correta de OO não aconselharia isso, mas vendo do lado RAD eles são utéis...


Responder

09/12/2005

Jairroberto

Olá, pessoal!

A discussão tá boa, mas vamos por partes:

Como o problema alegado pelo Marcos é a redução de performance pela adição dos três campos a mais que ele precisa de vez em quando, a menos que ele tenha se expressado mal, o problema é mesmo na cláusula SQL. Neste caso não tem jeito, terá que adicioná-los no select, mesmo que torne isso dinâmico, criando uma rotina para alterar o select quando necessário ou utilizando outro Query para fazer esse outro select também só quando necessário.

Sobre os campos persistentes (TField), depende muito de cada caso. Se o conteúdo do dataset é fixo vale a pena usar campos persistentes, principalmente se eles fazem parte da camada de regras de negócios e são alteráveis. Neste caso as suas propriedades e seus métodos relacionados a validação e exibição das informações são muito úteis e tornam o código muito mais ´limpo´. Se você usa DBX então... não dá para viver sem os TFields, pois é necessário incluí-los no TSQLDataSet para definir suas propriedades ´ProviderFlags´. Sem isso não é possível usar o ´UpdateMode´ ´upWhereKeyOnly´ do TDataSetProvider, e sem essa opção criam-se limitações drásticas na atualização de dados via DBX.


Um abraço,
Jair


Responder

09/12/2005

Marcos Fernando

Descupa galera se não postei de forma clara

o problema não é o Select
select indice, nome from funcionario 
pois dependendo eu o mudo assim:
select indice, nome, cidade, fone, Etc... from funcionario 


o o duro é que esses novos fields não são perssistentes e preciso dos valores deles e como eu uso (INDICE e NOME) de forma perssistentes os novos ficam de fora

Mais realmente eu precisaria usar o mesmo componente Ibquery pois existe muita programação envolvendo esse componente..


Thanks


Responder

09/12/2005

Bruno Belchior

então a resposta é não usar nenhum campo persistente, fazendo tudo via FieldByName...


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar