[firebase-br] Erro de Transação, achei o erro, não a solução

Márcio Rodrigues marc.adans em gmail.com
Qua Jul 4 15:36:45 -03 2007


Achei a solução...

Bom não sábia que a UIB tinha sua própria paleta de componentes DB.
Os componente da UIB possuem uma propriedade referente a transação.
Como DbExpress não tem isso, usa a transação corrente.

Neste link, em português o cara explica bem melhor:
http://www.progdigy.com/modules.php?name=Forums&file=viewtopic&t=3492&highlight=transaction

Valeu pela ajuda.



Paulo Veiga escreveu:
> Desculpa a ignorancia...
>
> não existe para ai um auto commit?
>
>
> On 7/4/07, Márcio Rodrigues <marc.adans em gmail.com> wrote:
>   
>> Olhem o Exemplo
>> const
>> Insert = 'INSERT INTO TESTE VALUES(1)';
>> Select = 'Select * from Teste';
>> var
>> TD : TTransactionDesc;
>> Trans : TTransaction;
>> Dataset: TCustomSQLDataSet;
>> begin
>> Trans := TTransaction.Create(SQLConnection);
>> TD := Trans.Start();
>>
>> SQLConnection.Execute(Insert, nil);
>> SQLConnection.Execute(Insert, nil);
>> SQLConnection.Execute(Insert, nil);
>>
>> Dataset := nil;
>> SQLConnection.Execute(Select, nil, @Dataset);
>>
>> Dataset.Close;
>>
>> Trans.RollBack(TD);
>>
>> Com driver UIB ele não executa RollBack.
>> Com driver Interbase Nativo do Delphi, funciona direito.
>> Mas no meu sistema existem algumas tabelas que tem campos do tipo BIGINT
>> que só funciona com o driver da UIB
>> Quando troco de Driver dá isso "Client SQL dialect 1 does not support
>> reference to BIGINT datatype" detalhe o SQLDialect do meu TSQLConnection
>> está = 3
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para editar sua configuração na lista, use o endereço
>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>>     
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>   





Mais detalhes sobre a lista de discussão lista