Como criar um campo na memoria com IBX

Firebird

19/07/2005

Galera é seguinte preciso criar um campo do tipo boolean em um componente IBdataset que fique na memoria, exemplo no resultado de uma tabela preciso que o úsuario apenas marque qual os registros ele vai gerar o cálculo, como fazer isso ?


Marcos Fernando

Marcos Fernando

Curtidas 0

Respostas

Beppe

Beppe

19/07/2005

Não sei, mas um campo calculado naum resolve?


GOSTEI 0
Marcos Fernando

Marcos Fernando

19/07/2005

o duro que não pode ser um campo calculado, deve ser indicado pelo usuário!

Grato


GOSTEI 0
Beppe

Beppe

19/07/2005

Mas acho que ele pode ser ´calculado´, mas sem calcular nada. Acho que campos calculados podemser modificados, mas ñ tenho certeza.


GOSTEI 0
Marcos Fernando

Marcos Fernando

19/07/2005

já tentei usar os campos calculados mais não dá...

Grato...


GOSTEI 0
Afarias

Afarias

19/07/2005

Bom, esse post não deveria estar realmente aqui no fórum do IB/FB.

Se está usando ClientDataSet use um campo InternalCalc, se está usando outra coisa, crie um campo ´virtual´ no seu select e use este campo (sem usá-lo em updates e inserts), exempo:

select t.*, cast(0 as integer) as selecao from tabela t


T+


GOSTEI 0
Diogoalles

Diogoalles

19/07/2005

Afarias e pessoal

eu criei numa Query o select baseado no qu eo afarias disse
select t.*, cast(0 as integer) as selecao from tabela t

agora após abrir a query preciso mudar o valor do ´selecao´ de 0 para 1 se for 0, e mudar de 1 para 0 se for 1.

tem como?
estou utilizando FB1.5 e TQuery.

outra coisa, no meu banco eu tenho um domain Boolean, no caso cima se eu subsituir o integer pelo boolean não funciona, como faço ?

obrigado

Diogo


GOSTEI 0
Afarias

Afarias

19/07/2005

|agora após abrir a query preciso mudar o valor do ´selecao´ de 0 para 1
|se for 0, e mudar de 1 para 0 se for 1.

mas ele sempre vai ser 0! o q vc deseja?!


|outra coisa, no meu banco eu tenho um domain Boolean, no caso cima
|se eu subsituir o integer pelo boolean não funciona, como faço ?

se o domain boolean é baseado em integer dá no mesmo, se não mude para um cast no tipo desejado.


T+


GOSTEI 0
Diogoalles

Diogoalles

19/07/2005

acredito que eu ñ tenha me expressado bem:
acabei mudando um poco e o que preciso é:

tenho um clientdataset (CDS1) que é ligado a um Provider, este por sua vez está ligado a uma Query.
no CDS1 criei um campo InternalCalc ´teste´ do tipo String(1).
na tela tenho um checkbox, que se estiver checked=true então o campo teste deverá receber ´A´ para todos os registros do CDS1.

para fazer isso eu não queria usar isso (porque o CDS1 possui muitos registros):

CDS1.First;
while not(CDS1.Eof)do
begin
CDS1.Edit;
CDS1teste.asString := ´A´;
CDS1.Post;
CDS1.Next;
end;

existe alguma forma mais simples de alterar esse campo InternalCalc que não seja da maneira acima ?

obrigado

Diogo.


GOSTEI 0
Afarias

Afarias

19/07/2005

|existe alguma forma mais simples de alterar esse campo InternalCalc
|que não seja da maneira acima ?

até onde sei, não.


T+


GOSTEI 0
POSTAR