[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