Pegar valor de um field cujo não esteja na lista dos fields
08/12/2005
0
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
Posts
09/12/2005
Eniorm
09/12/2005
Bruno Belchior
[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]
09/12/2005
Adriano Santos
[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.
09/12/2005
Bruno Belchior
09/12/2005
Jairroberto
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
09/12/2005
Marcos Fernando
o problema não é o Select
select indice, nome from funcionario
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
09/12/2005
Bruno Belchior
Clique aqui para fazer login e interagir na Comunidade :)