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