[firebase-br] IF Exists - FireBird

Claudir Pereira dos Santos claupers_dbrays em yahoo.com.br
Ter Jun 13 13:21:27 -03 2006


Colega, não sei quais objetos você usa para programar, mas se for delphi e a
paleta interbase, pode ser assim:

procedure TF_Dtml.DataModuleCreate(Sender: TObject);
var
  campos:TStringList;
  Tabelas: TStringList;
begin
  Tabelas := TStringList.Create;
  campos:=TStringList.Create;
  db.Connected:=True;
  Trans.Active:=True;
  db.GetFieldNames('NOME_DA_SUA_TABELA', campos); // Voce pode usar
DB.GetTableNames(Tabelas) para checar se a tabela existe.
  Try
    if (campos.IndexOf('NOME_DO_CANPO')=-1) then // Vai retornar -1 se o
campo não existir
      begin
        showMessage('O campo "bla bla bla" não existe e será criado
alterando a tabela bla bla bla.'+#13+'Se esta não for a primeira vez que
você recebe esta mensagem, entre em contato com o suporte técnico.');
        Cod_Sql.SQL.Clear;
        Cod_sql.SQL.Add('Alter Table NOME_DA_SUA_TABELA add NOME_DO_CAMPO
MAIS PARAMETROS');
        Cod_Sql.ExecQuery;
        Trans.CommitRetaining;
      end;
Espero que tenha ajudado

Cordialmente;


Claudir Pereira dos Santos








Mais detalhes sobre a lista de discussão lista