To: [EMAIL PROTECTED]; [EMAIL PROTECTED]: [EMAIL PROTECTED]: Wed, 17 Oct 2007
11:39:56 +0000Subject: [delphi-br] Problema com Master-Detail - CDS
Bom dia a todos, estou com um problema com master detail, e procurando soluções
na net nao achei nada que resolvesse o meu problema.a situação é essa:TAB1 -
masterTAB2 - detail da TAB1TAB3 - detail da TAB2TAB4 - datail da TAB1fiz o
seguinte:* Coloquei um SQLDataset (sql_TAB1) com o CommandText:select * from
TAB1 where ID_TAB1 = :ID_TAB1* Adicionei os Fields e mudei o ProviderFlag,
pfInkey do ID_TAB1 pra True;* Coloquei um DataSetProvider (dsp_TAB1), e
selecionei para o DataSet, o sql_TAB1;* Coloquei um DataSource (dsc_TAB1_TAB2),
e selecionei para o DataSet, o sql_TAB1;* Coloquei um SQLDataSet (sql_TAB2),
com o CommandText:Select * from TAB2 where ID_TAB1 = :ID_TAB1* Selecionei para
a propriedade DataSource, o dsc_TAB1_TAB2;* Ativei o sql_TAB1 e adicionei os
Fields no sql_TAB2;* Adicionei os Fields e mudei o ProviderFlag, pfInkey do
ID_TAB2 pra True;* Coloquei um DataSource (dsc_TAB2_TAB3), e selecionei para o
DataSet, o sql_TAB2;* Coloquei um SQLDataSet (sql_TAB3), com o
CommandText:Select * from TAB3 where ID_TAB2 = :ID_TAB2* Selecionei para a
propriedade DataSource, o dsc_TAB2_TAB3;* Ativei o sql_TAB2 e adicionei os
Fields no sql_TAB3;* Adicionei os Fields e mudei o ProviderFlag, pfInkey do
ID_TAB3 pra True;* Coloquei um DataSource (dsc_TAB1_TAB4), e selecionei para o
DataSet, o sql_TAB1;* Coloquei um SQLDataSet (sql_TAB4), com o
CommandText:Select * from TAB4 where ID_TAB1 = :ID_TAB1* Selecionei para a
propriedade DataSource, o dsc_TAB1_TAB4;* Ativei o sql_TAB1 e adicionei os
Fields no sql_TAB4;* Adicionei os Fields e mudei o ProviderFlag, pfInkey do
ID_TAB4 pra True;* Coloquei um ClientDataSet (cds_TAB1) e liguei ao dsp_TAB1;*
Adicionei os Fields e mudei o ProviderFlag, pfInkey do ID_TAB1 pra True;*
Coloquei um ClientDataSet (cds_TAB2) e selecionei em DataSetFields o campo
cds_TAB1sql_TAB2;* Adicionei os Fields e mudei o ProviderFlag, pfInkey do
ID_TAB2 pra True;* Coloquei um ClientDataSet (cds_TAB3) e selecionei em
DataSetFields o campo cds_TAB2sql_TAB3;* Adicionei os Fields e mudei o
ProviderFlag, pfInkey do ID_TAB3 pra True;* Coloquei um ClientDataSet
(cds_TAB4) e selecionei em DataSetFields o campo cds_TAB1sql_TAB4;* Adicionei
os Fields e mudei o ProviderFlag, pfInkey do ID_TAB4 pra True;Depois coloquei 4
DataSources, Liguei aos CDS's e coloquei os DataControls para edição.Eu
adiciono os registros normalmente, altero e excluo, confirmo o Apply e tudo
OK.Porem se eu fechar o form e abrir novamente, na hora de alterar ou excluir
os details, da o erro:"record not found or changed for another user" - Na net
dizem q a solução é alterar os providersfflags dos campos chave primaria, pra
pfInkey = True, mas no meu caso jah estao assim.Se eu altero o UpdateMode do
Provider pra whereKeyOnly o erro passa a ser:"unabled to find record. No Key
Specified"ps: Fiz os testes adicionando apenas os fields nos CDS, ocorrem os
mesmos erros.ps2: Desculpem o texto grande, mas tentei passar todos os passos q
fiz, para facilitar o entendimento.agradeço a todos q possam ajudar com este
problema ...vlw.__________________________________________________________Veja
mapas e encontre as melhores rotas para fugir do trânsito com o Live Search
Maps!http://www.livemaps.com.br/index.aspx?tr=true
_________________________________________________________________
Receba as últimas notícias do Brasil e do mundo direto no seu Messenger com
Alertas MSN! É GRÁTIS!
http://alertas.br.msn.com/
[As partes desta mensagem que não continham texto foram removidas]