amigo, eu acho, que vc nao pode mexer em tabelas e tals, sendo q ele ainda
nao foi criada... o jeito certo, e vc comitar os create tables, depois
starta outra transacao para fazer as suas verificacoes e tals..

Em 31/07/06, José Otavio DTI <[EMAIL PROTECTED]> escreveu:
>
> Eu sei q isso funciona
> Mas eu pergunto agora.... pra que serve essa droga de processo com
> transacoes se eu nao posso criar uma tabela, inserir dados e dar rollback em
> caso de erro???
>
> eu nao posso dar commit pois antes de criar a tabela, eu tenho outros
> comandos que nao podem ser commitados no caso de erro.
>
> Será q existe alguma regra na transacao do tipo:
> Criacao de tabela deve ser comitada senao a transacao nao enxerga..
>
> Que raio de transacao é essa do FB????
>
>
>   ----- Original Message -----
>   From: Fellipe Henrique
>   To: delphi-br@yahoogrupos.com.br
>   Sent: Monday, July 31, 2006 10:02 AM
>   Subject: Re: [delphi-br] Mistério na Transação com FB.
>
>
>   Amigo, realmente o erro vai dar, pois a tabela Teste nao existe, e esta
> na
>   mesma transacao.. o que voce pode fazer eh apos o Create Table dar um
>   CommitRetaining.... assim voce comita  e permanece na mesma transacao..
> ou
>   usar uma transacao diferente ara a criacao da tabela...
>
>
>   []s
>
>   Em 31/07/06, José Otavio DTI <[EMAIL PROTECTED]>
> escreveu:
>
>   >
>   > Bom dia a todos.
>   >
>   > Estou usando um IBTransaction ligado a um IBDataBase
>   > Estou usando um IBQuery ligado a este Transaction para executar as
>   > seguintes instruções:
>   >
>   > Transacao.StarTransaction
>   >    try
>   >       // Instruções SQL executadas no IBQuery que está ligado a
> transação
>   > em questão
>   >       <instrução SQL> --------------------------------------------->
> OK
>   >       <instrução SQL> --------------------------------------------->
> OK
>   >       <instrução SQL> --------------------------------------------->
> OK
>   >       Create Table Teste (cTeste VarChar(20)); -----------> OK
>   >       Insert into Teste (cTeste) Values ('Texto')   ---------> ERRO!!!
>   >    except
>   >       Transacao.Rollback
>   >    end;
>   > Transacao.Commit
>   >
>   > O problema ocorre na hora de dar o insert... da um erro dizendo que a
>   > tabela Teste não existe.
>   > Teoricamente, era pra transação enxergar a tabela, uma vez que ela
> esta
>   > sendo criada na mesma.
>   > Se eu der um commit após o create, funciona corretamente.
>   > Mas estou trabalhando com transacao justamente para dar o commit só no
>   > final.... pois se acontecer allgum erro, posso dar rollback e cancelar
>   > tudo... inclusive a criação da tabela.
>   >
>   > Qualquer instrução SQL nesta transação, funciona corretamente... só o
>   > Ceate Table não funciona.
>   > Ele executa o create mas a transação nao enxerga a tabela.
>   >
>   > Será que as instruções em uma transação só funcionam com as tabelas ja
>   > criadas?
>   >
>   > Creio que não estou trabalhando de forma errada com a conexão e seus
>   > parametros... pois quando dou inserts numa tabela ja criada, funciona
>   > corretamente... e se precisar dar Rollback também.
>   >
>   > Alguém desvenda este mistério?
>   >
>   >
>   > Agradeço desde já a atenção de todos.
>   >
>   > Jose Otavio
>   >
>   > [As partes desta mensagem que não continham texto foram removidas]
>   >
>   >
>   >
>
>
>
>   --
>   _________________________________
>   Fellipe Henrique
>   [EMAIL PROTECTED]
>
>   Borland Developer Studio 2006 Certified
>
>   "Venham até a borda, ele disse.
>   Eles disseram: Nós temos medo.
>   Venham até a borda, ele insistiu.
>   Eles foram, Ele os empurrou...
>   E eles voaram."
>   (Guillaume Apollinaire)
>
>
>
>   [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>



-- 
_________________________________
Fellipe Henrique
[EMAIL PROTECTED]

Borland Developer Studio 2006 Certified

"Venham até a borda, ele disse.
Eles disseram: Nós temos medo.
Venham até a borda, ele insistiu.
Eles foram, Ele os empurrou...
E eles voaram."
(Guillaume Apollinaire)


[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a