quando você usa um clientDataset conectado ao Datasetprovider, ele mesm (O DSP) se incumbe de fazer o controle de transação. E, nos casos de relacionamentos MD, você só dá o Apply no CDS Master. O proprio DSP vai providenciar o Apply no Detail
[]s Walter Alves Chagas Junior Belo Horizonte - MG - Brazil [EMAIL PROTECTED] http://www.geocities.com/SiliconValley/Bay/1058 MSN: [EMAIL PROTECTED] SKYPE: WalterChagasJr ----- Original Message ----- From: Ricardo Lima To: delphi-br@yahoogrupos.com.br Sent: Monday, February 18, 2008 12:41 PM Subject: [delphi-br] dbExpress + SQLServer + Transactions Olá pessoal!!! Preciso esclarecer algumas duvidas com relação a dbExpress e Transações. Quando trabalho com dbExpress o ClientDataSet faz o controle de transação no ApplyUpdate, mesmo quando for um Master/Detail? Tipo ou grava tudo ou nada? O dbExpress com SQLServer tem suporte a multi-transaction? Fiz o código abaixo somente para testar, porem quando tenta iniciar a segunda trasação da erro informando que já existe uma transação ativa. Var FTransactionDesc: TTransactionDesc; Begin FTransactionDesc.IsolationLevel := xilREADCOMMITTED; FTransactionDesc.TransactionID := 1; Connection.StartTransaction(FTransactionDesc); FTransactionDesc.TransactionID := 2; Connection.StartTransaction(FTransactionDesc); FTransactionDesc.TransactionID := 2; Connection.CommtiTransaction(FTransactionDesc); FTransactionDesc.TransactionID := 1; Connection.CommtiTransaction(FTransactionDesc); End; Obrigado a todos. At. Ricardo Lima [As partes desta mensagem que não continham texto foram removidas]