Alguem condena isso? Já deu problema com alguem?

Delphi

29/04/2005

Faço relacionamento entre tabelas usando clientdataset dessa forma:

Tabela de clientes (SELECT * FROM clientes where codigo =: tcodigo)Tabela de serviços (SELECT * FROM servicos)
em que o campo código da tabela de clientes = cds_clientesCODIGO
onde o campo código da tabela de servços = cds_servicosCOGIGO

e na abertura do formulário (on create) coloco o seguinte:
cds_clientes.open;
cds_servicos.open;
cds_servicosCODIGO.value:=cds_clientesTCODIGO.value
**Sempre funcionou normalmente
**Uso o banco firebird 1.5

Quero saber o seguinte:
A)Alguem já teve problemas fazendo relacionamento desta forma?

B)Estou agindo corretamente dessa forma uma fez que sei que posso usar intruções SQL para fazer o relacionamento entre essas tabelas?

Alguem pode me dar algum conselho?


Muito obrigado a todos.


End Else

End Else

Curtidas 0

Respostas

Kotho

Kotho

29/04/2005

O único problema que eu vejo é a questão da transação... Quando se faz um relacionamento utilizando o DataSource, o clientDataSet recebe os registros dentro de um campo do tipo TDataSetField, e quando se dá um ApplyUpdates na tabela, todos os campos desse tipo são incluidos na transação...

Fora isso, não vejo problema... Você pode, até, controlar a transação manualmente...


GOSTEI 0
Rômulo Barros

Rômulo Barros

29/04/2005

O único problema que eu vejo é a questão da transação... Quando se faz um relacionamento utilizando o DataSource, o clientDataSet recebe os registros dentro de um campo do tipo TDataSetField, e quando se dá um ApplyUpdates na tabela, todos os campos desse tipo são incluidos na transação... Fora isso, não vejo problema... Você pode, até, controlar a transação manualmente...


:arrow: [color=blue:ce5aac327a]Isso é resolvido configurando os ProviderFlafs dos Fields, configurando o UpdateMode do TDataSetProvider e Setando o nome da tabela a ser atualizada no evento OnGetTableName do TDataSetProvider.[/color:ce5aac327a]


GOSTEI 0
POSTAR