Estou com problemas ao tentar criar campos em tempo de execução.
Ocorre que não consigo obter a resposta "existe esse campo na tabela?"

Estou usando o seguinte:
 Banco.GetFieldNames('cartoes',Campos2); //atribui os nomes dos campos à 
variável Campos2 {do tipo Tstrings}
 nCampo:=Campos2.IndexOf('acessoveiculo'); //pega a posição da string 
'acessoveiculo'
  if nCampo<0 then begin // se não existe, então cria
    SQL.SQL.Clear;
    SQL.SQL.Add('alter table cartoes add acessoveiculo char(1)');
    SQL.ExecQuery;
    transacao.CommitRetaining;
end;

O que está acontecendo é que da primeira vez que executo o programa, o campo é 
criado, e da segunda vez ele tenta criar novamente, então ocorre um erro de 
banco de dados.

Alguém sabe me dizer o que fiz de errado?


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

Responder a