Peter,
Neste caso vc esta usando o DRIVE ODBC.
Eu estou usando ADO.
>PCC,
>transações funcionam perfeitamente com CA...
>Vc define o inicio da transação com o seguinte comando...
>Definido no metodo Salvar da classe do form...
>
>* Define o tipo de transação p/ controle pelo VFP e não do Servidor
>= SQLSETPROP(nID, 'TRANSACTIONS', 2)
>XRETORNO = TABLEUPDATE(1,.T.,tabela)
> IF XRETORNO
> = SQLCOMMIT(nID)
> WAIT WINDOW "Dados Salvados" TIMEOUT 1
> ELSE
> WAIT WINDOW "Falha ao salvar os dados" TIMEOUT 1
> oODBC.GET_ERRO()
> ENDIF
>
>Vc pode fazer isto p/ N tabelas, (estrutura Pai-Filho) e se uma delas falhar, vc obtem o erro e volta a transação.
>
>Sendo que oODBC.GET_ERRO() no codigo acima captura o erro e da um rollback
>sendo que o inicio do codigo deste metodo é este:
>
>LPARAMETERS mensagem
>= AERROR(aMatrizErro)
>
>* Cancela todas as alterações/inclusões e exibe mensagem de erro
>= SQLROLLBACK(nID)
>....
>
>O codigo depois neste metodo é para o tratamento de erro, mas até ai já tenho o numero do erro e respectiva mensagem do SQL server
>
>Espero que resolva o seu problema...
>
>[],s
>Peter
>
>
>>Sim
>>
>>Já baixei a classe e tenho estudado. Lá fala somente da criação da Classe em si, mas não em transações.
>>
>>
>>>Paulo,
>>>
>>>>Erick,
>>>>
>>>>Este comando e do SQL PASS Trough, e eu estou usando o CA com ADO.
>>>>>>Apesar de não ter usado, pois não utilizo o CursorAdapter, já ouvi falar que um bom lugar para aprender algumas coisas sobre o CursorAdapter é com o CursorAdapter Builder (tool) e com o CursorAdapter Samples do Mark E. McCasland que você pode encontrar no site
www.mctweedle.com (clique no menu Fox Tools) e, se não me engano na área de DownLoad da UT.
>>>Você já conhece?
>>>Talvez possa ser útil para você. 8-D
Paulo Cesar Carneiro
desenvolvimento@controplan.com.br"My God, what have we done?"
-- Capt. Robert Lewis, co-pilot of the Enola Gay, recalling the moment the atomic bomb exploded over Hiroshima
At 8:15 a.m. on August 6 1945