Problemas com o CDS em 3 Camadas
Olá, estou tendo o seguinte problema:
Tenho dois SQLDataSet, tbPedido e TbItensPedido, que deveria ser mestre detalhes, porem não consigo fazer de jeito nenhum isso...
Tentei o seguinte, coloquei no meu DataSetProvider, o AllowCommandText como True nos dois, aí eu dou um select no meu ClientDataSet no cliente, ou seja, modifico o sql em runtime, e ele me traz beleza os meus pedidos e itens..
o meu problema:
1- Começou a dar o erro: no key found, aih fui lah no ProviderFlags, e coloquei como rue o InKey dos meus campos PK do Banco...
Beleza funcionou...
Agora meu maior erro:
Meus cdsPedido.Delete, cdsInsert, cdsEdit... nada funciona, dou o ApplyUpdates(0) e não me retorna err nenhum, inclusive coloquei o ReconcileErrorDialog e nada... sem erros...´porem nnao acontece nada no banco, nao altera, nao deleta...
eis minha questao, se alguem puder me ajudar, agradeceria muito...
[]s
Fellipe H.
Tenho dois SQLDataSet, tbPedido e TbItensPedido, que deveria ser mestre detalhes, porem não consigo fazer de jeito nenhum isso...
Tentei o seguinte, coloquei no meu DataSetProvider, o AllowCommandText como True nos dois, aí eu dou um select no meu ClientDataSet no cliente, ou seja, modifico o sql em runtime, e ele me traz beleza os meus pedidos e itens..
o meu problema:
1- Começou a dar o erro: no key found, aih fui lah no ProviderFlags, e coloquei como rue o InKey dos meus campos PK do Banco...
Beleza funcionou...
Agora meu maior erro:
Meus cdsPedido.Delete, cdsInsert, cdsEdit... nada funciona, dou o ApplyUpdates(0) e não me retorna err nenhum, inclusive coloquei o ReconcileErrorDialog e nada... sem erros...´porem nnao acontece nada no banco, nao altera, nao deleta...
eis minha questao, se alguem puder me ajudar, agradeceria muito...
[]s
Fellipe H.
Titanius
Curtidas 0
Respostas
Kotho
19/05/2005
Cara... calma... :lol:
1) Mestre/Detalhe ->
2) o que você colocou em OnReconcilieError...
1) Mestre/Detalhe ->
Coloque um SQLQuery para ser o Master -> SQLMaster //prefiro Query, pois tenho a possibilidade de filtrar com WHERE no SQL coloque SELECT * FROM PEDIDO Coloque um SQLQuery para ser o Detail -> SQLDetail no SQL coloque SELECT * FROM ITEMPEDIDO WHERE NRPEDIDO = :NRPEDIDO //o nome do parâmetro tem que ser o mesmo nome do campo na tabela Master no DataSource coloque LNKMaster Coloque um DataSource para ser um link -> LNKMaster no DataSet coloque SQLMaster NA PARTE CLIENTE Coloque um ClientDataSet para ser o Master -> CDSMaster adicione todos os Fields... irá aparecer, no final, um do tipo TDataSetField Coloque um ClientDataSet para ser o Detail -> CDSDetail no DataSetField coloque o nome do field citado acima.
2) o que você colocou em OnReconcilieError...
GOSTEI 0