[firebase-br] Erro com comando AlterTable

Felipe Caputo felipe.caputo em gmail.com
Seg Ago 23 18:18:27 -03 2010


Boa noite amigos,

o codigo era esse:

  procedure CriarCampo(tabela, campo, tipo : String);
  begin
    tmp.Close;
    tmp.CommandText := 'Select ' + campo + ' from ' + tabela + ' where 1 =
2';
    try
      tmp.Open;
      tmp.Close;
    except on e : Exception do
    begin
      tmp.CommandText := 'Alter Table ' + tabela + ' add '+ campo + ' ' +
tipo;
      tmp.ExecSQL();
    end;
    end;
  end;

eu tinha passado por ele e deixado pq é um comando que o  pessoal aqui da
empresa ja usava. O que eu não tinha percebido é que a exception que ele
estava gerando não era a do field e sim uma outra que é um problema do dbx
com o firebird na propriedade GetMetaData (SQL mapping failed) e como ele
estava tentando criar novamente e tudo ele sempre dava a exception. Já
substitui o codigo acima por

'Select RDB$FIELD_NAME FROM RDB$RELATION_FIELDS WHERE RDB$FIELD_NAME = ' +
CAMPO + ' AND RDB$RELATION_NAME = ' + TABELA;

Muito obrigado a todos pela ajuda!



Mais detalhes sobre a lista de discussão lista