ProviderFlags: consegui, mas será que é isso mesmo?

Delphi

26/07/2004

Olha,
tava me batendo pra fazer funcionar uma manutenção assim:
Query(BDE) + DataSetProvider + ClientDataSet + DataSource

eu colocava os ProviderFlags nos campos do ClientDataSet, fazia ApplyUpdates(0), só que nada era enviado pro banco,
entao tentei colocar os ProviderFlags nos campos da Query e ai funcionou!!!
Só que achei isso muito encomodo, quer dizer que eu tenho que duplicar
duas vezes os fields, uma vez na query e uma vez no clientDataSet só pra
poder setar os ProviderFlags??!!!
pq eu nao posso deixar a query criar os fields em tempo de execuç~~ao de acordo com o SQL que eu envio, e então somente utilizo os ProviderFlags do ClientDataSet ???

O que estou endignado é que na Clube Delphi nº22 eles explicam para colocar os ProviderFlags no ClientDataSet somente....[/url]


Aureliovs

Aureliovs

Curtidas 0

Respostas

Persist

Persist

26/07/2004

Vc pode setá-los no evento BeforeUpdateRecord.
procedure Txxx.SQLClientDataset1BeforeUpdateRecord(Sender:TObject; SourceDS:TDataSet;
                                                      DeltaDS:TCustomClientDataSet;
                                                      UpdateKind:TUpdateKind;
                                                      var Applied:Boolean);
var i:Integer;
for i := 0 to TSQLClientDataSet(Sender).Fields.Count-1 do
DeltaDS.Fields[i].ProviderFlags :=
 TSQLClientDataSet(Sender).Fields[i].ProviderFlags;



GOSTEI 0
Aureliovs

Aureliovs

26/07/2004

Cara,
valeu pela dica,
nao testei ainda, mas é uma boa saída pro problema...
esse problema deve acontecer pq na verdade o que é atualizado
é o que tá no Delta, como é tudo criado em tempo de execução, provavelmente o Delta não tem os ProviderFlags...sucks!

t+


GOSTEI 0
POSTAR