Fórum Por favor, esclarecer Cds_Tabela.state x Ds_Tabela.state #53879
19/11/2005
0
Olá!
Sou Desenv. D7 + IB/FB + DBExpress
Apenas queri esclarecer.
Qual a diferenca em usar:
-----------------------------------------------------------
(Ds_Tabela.DataSet as TClientDataset).ApplyUpdates(0);
E
Cds_Tabela.ApplyUpdates(0);
-----------------------------------------------------------
IF Ds_Tabela.State In [DsInsert,DsEdit] Then ...
E
IF Cds_Tabela.State In [DsInsert,DsEdit] Then ...
Desde já meus Agradecimentos.
ANT.CARLOS/SP
Sou Desenv. D7 + IB/FB + DBExpress
Apenas queri esclarecer.
Qual a diferenca em usar:
-----------------------------------------------------------
(Ds_Tabela.DataSet as TClientDataset).ApplyUpdates(0);
E
Cds_Tabela.ApplyUpdates(0);
-----------------------------------------------------------
IF Ds_Tabela.State In [DsInsert,DsEdit] Then ...
E
IF Cds_Tabela.State In [DsInsert,DsEdit] Then ...
Desde já meus Agradecimentos.
ANT.CARLOS/SP
Ant.carlos/sp
Curtir tópico
+ 0
Responder
Posts
20/11/2005
Emerson Nascimento
[quote:a59e0ad953=´ANT.CARLOS/SP´]Qual a diferenca em usar:
-----------------------------------------------------------
(Ds_Tabela.DataSet as TClientDataset).ApplyUpdates(0);
E
Cds_Tabela.ApplyUpdates(0);[/quote:a59e0ad953]
No uso em si não há diferença. a diferença está no motivo do uso.
Cds_Tabela.ApplyUpdates(0); é um modo ´direto´ de acesso ao ClientDataset. você precisa conhecer o ClientDataset para fazer dessa forma.
(Ds_Tabela.DataSet as TClientDataset).ApplyUpdates(0); é um modo abstrato. você não sabe qual ClientDataset está ligado ao DataSource, mas pode fazer o typecasting para executar o ApplyUpdates.
é mais usado com heranças de formulários, onde o formulário padrão faz todo o tratamento pelo datasource de forma abstrata, sempre utilizando o typecasting na forma de [i:a59e0ad953](Ds_Tabela.DataSet as TClientDataset)[/i:a59e0ad953] ou [i:a59e0ad953]TClientDataset(Ds_Tabela.DataSet)[/i:a59e0ad953]. A explicação dessa técinica seria um pouco longa para esse tópico...
[quote:a59e0ad953=´ANT.CARLOS/SP´]IF Ds_Tabela.State In [DsInsert,DsEdit] Then ...
E
IF Cds_Tabela.State In [DsInsert,DsEdit] Then ...
Desde já meus Agradecimentos.
ANT.CARLOS/SP[/quote:a59e0ad953]
A diferença aqui é a mesma. O resultado será o mesmo, mas na primeira forma utilizada não se sabe - e não importa - à qual dataset o datasource está ligado; no segundo o acesso é feito diretamente ao ClientDataset.
-----------------------------------------------------------
(Ds_Tabela.DataSet as TClientDataset).ApplyUpdates(0);
E
Cds_Tabela.ApplyUpdates(0);[/quote:a59e0ad953]
No uso em si não há diferença. a diferença está no motivo do uso.
Cds_Tabela.ApplyUpdates(0); é um modo ´direto´ de acesso ao ClientDataset. você precisa conhecer o ClientDataset para fazer dessa forma.
(Ds_Tabela.DataSet as TClientDataset).ApplyUpdates(0); é um modo abstrato. você não sabe qual ClientDataset está ligado ao DataSource, mas pode fazer o typecasting para executar o ApplyUpdates.
é mais usado com heranças de formulários, onde o formulário padrão faz todo o tratamento pelo datasource de forma abstrata, sempre utilizando o typecasting na forma de [i:a59e0ad953](Ds_Tabela.DataSet as TClientDataset)[/i:a59e0ad953] ou [i:a59e0ad953]TClientDataset(Ds_Tabela.DataSet)[/i:a59e0ad953]. A explicação dessa técinica seria um pouco longa para esse tópico...
[quote:a59e0ad953=´ANT.CARLOS/SP´]IF Ds_Tabela.State In [DsInsert,DsEdit] Then ...
E
IF Cds_Tabela.State In [DsInsert,DsEdit] Then ...
Desde já meus Agradecimentos.
ANT.CARLOS/SP[/quote:a59e0ad953]
A diferença aqui é a mesma. O resultado será o mesmo, mas na primeira forma utilizada não se sabe - e não importa - à qual dataset o datasource está ligado; no segundo o acesso é feito diretamente ao ClientDataset.
Responder
Gostei + 0
20/11/2005
Ant.carlos/sp
:)
Sempre usei corretamente, mas não sabia a diferenca.
Obrigado pela artenção.
T+
ANT.CARLOS/SP
Sempre usei corretamente, mas não sabia a diferenca.
Obrigado pela artenção.
T+
ANT.CARLOS/SP
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)