Alguem condena isso? Já deu problema com alguem?
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.
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
Curtidas 0
Respostas
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...
Fora isso, não vejo problema... Você pode, até, controlar a transação manualmente...
GOSTEI 0
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