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]



-- 
<<<<< 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