Re: [firebase-br] Não Gera Erro WITH LOCK

Anderson Miranda Barrozo andersonpaduarj em hotmail.com
Ter Jul 10 19:23:49 -03 2007


Ja fiz com componentes reais e da a mesma coisa.


>From: "Rodrigo Pires" <digaoblues em hotmail.com>
>Reply-To: FireBase <lista em firebase.com.br>
>To: lista em firebase.com.br
>Subject: Re: [firebase-br] Não Gera Erro WITH LOCK
>Date: Tue, 10 Jul 2007 10:12:19 -0300
>
>O que deve estar acontecendo ai é que a opcao no wait nao esta sendo setada
>"dm.Conexao.Params.Strings[11]:='False';" da uma olhada nisso
>
>[]s
>
>
>
> >From: Jorge Henrique - América Móveis<jorgehenrique em americamoveis.com>
> >Reply-To: FireBase <lista em firebase.com.br>
> >To: Lista - FireBase <lista em firebase.com.br>
> >Subject: Re: [firebase-br] Não Gera Erro WITH LOCK
> >Date: Tue, 10 Jul 2007 07:51:17 -0300
> >
> >Eu acredito que seja por causa do IBSQL.Free. A transação fica mto pouco
> >tempo aberta, haja visto que vc descarrega o componente da memoria após
> >IBSQL.Open. Me corrijam se eu estiver equivocado...
> >
> >Tente fazer com componentes "reais" ao invés de criá-los em runtime.
> >
> >[]´s
> >Jorge Henrique
> >
> >Anderson Miranda Barrozo escreveu:
> > > Jorge Henrique,
> > >
> > >    A coisa ta mais complicada que eu pensava. Eu fiz o que vc falou 
>mas
> > > continua a mesma coisa. Nao da erro. Veja o meu codigo abaixo. Eu 
>criei
> >uma
> > > funcao e coloquei evento afteredit.
> > >
> > > procedure TTCadArea.TravaRegistro(Arquivo, Campo: String; 
>DS:TDataSet);
> > > var
> > > //  TD: TTransactionDesc;
> > >   IBSQL: TSQLDataSet;
> > > begin
> > > IBSQL := TSQLDataSet.Create(Application);
> > > Try
> > >    Randomize;
> > >    { Abre uma transação para controlar o processamento todo }
> > >    TD.TransactionID := Random(65635);
> > >    TD.IsolationLevel := xilREADCOMMITTED;
> > >    dm.Conexao.Params.Strings[11]:='False';
> > >    DM.Conexao.StartTransaction(TD);
> > >    IBSQL.SQLConnection := DM.Conexao;
> > >    IBSQL.Close;
> > > //   IBSQL.CommandText := 'UPDATE '+Arquivo+ ' SET '+Campo+' = 
>'+Campo+'
> > > WHERE '+Campo+'='+Ds.FieldByName(Campo).AsString;
> > >    IBSQL.CommandText := 'SELECT '+Campo+ ' FROM '+Arquivo+' WHERE
> > > '+Campo+'='+Ds.FieldByName(Campo).AsString+' WITH LOCK';
> > >    Try
> > >       IBSQL.Open;
> > >    except on E: Exception do {Em caso de erro, aborta todo 
>processamento
> >}
> > >       bEGIN
> > >       SHOWMESSAGE('TRAVOU');
> > >       if DM.Conexao.InTransaction then
> > >          DM.Conexao.Rollback(TD);
> > >       eND;
> > >    End;
> > > finally
> > >    IBSQL.Free;
> > > end;
> > >
> > >
> > >
> > >
> >////////////////////////////////////////////////////////////////////////////////////////////////////
> >
> >______________________________________________
> >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
>
>_________________________________________________________________
>Seja um dos primeiros a testar o novo Windows Live Mail Beta- grátis. 
>Acesse
>http://www.ideas.live.com/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d
>
>
>______________________________________________
>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

_________________________________________________________________
Descubra como mandar Torpedos SMS do seu Messenger para o celular dos seus 
amigos. http://mobile.msn.com/





Mais detalhes sobre a lista de discussão lista