Alterando a Tabela Via progamação

Delphi

01/03/2004

ola pessoal,

como que eu faço para que em tempo de execução eu execute uma query e ela altere o banco de dados por exemplo:

 ALTER TABLE teste ADD teste1 CHAR(1) DEFAULT ´N´,
 ADD teste2 CHAR(1) DEFAULT ´N´,
 ADD teste3 CHAR(1) DEFAULT ´N´;


o codigo estara em um arquivo texto. Entao ele caregara o conteudo do arquivo da query e comparar se o campo ja existir ele nao coloca e senao ele cria o campo novo.. nao sei como fazer isso com o interbase

estou usando o D7


Zumbi

Zumbi

Curtidas 0

Respostas

Cdaraujo

Cdaraujo

01/03/2004

Caro amigo,

Veja como irá ficar o código para alteração da estrutura da tabela em tempo de execução! É importante lembrar que caso vc tenha acrescentado fields em TQuery ou TTable em tempo de projeto, vc poderá ser surpreendido por mensagens de erros. então é melhor verificar isso!

Cada instrução deverá ser executada por vez!
veja:

ALTER TABLE teste DROP COLUMN teste1, ADD teste1 CHAR(1) DEFAULT ´N´
GO

ALTER TABLE teste DROP COLUMN teste2, ADD teste2 CHAR(1) DEFAULT ´N´
GO

ALTER TABLE teste DROP COLUMN teste3, ADD teste3 CHAR(1) DEFAULT ´N´
GO



Espero ter ajudado!

Daniel Araújo


ola pessoal, como que eu faço para que em tempo de execução eu execute uma query e ela altere o banco de dados por exemplo:
 ALTER TABLE teste ADD teste1 CHAR(1) DEFAULT ´N´,
 ADD teste2 CHAR(1) DEFAULT ´N´,
 ADD teste3 CHAR(1) DEFAULT ´N´;
o codigo estara em um arquivo texto. Entao ele caregara o conteudo do arquivo da query e comparar se o campo ja existir ele nao coloca e senao ele cria o campo novo.. nao sei como fazer isso com o interbase estou usando o D7



GOSTEI 0
Zumbi

Zumbi

01/03/2004

ok..

eu quero fazer com que o conteudo esteja em um arquivo .txt

e eu execute linha por linha deste .txt.. fazendo as alterações como:
drop, alter, create, insert, delete,... etc..

como que eu usaria????

no delphi:

              AssignFile (arquivo, ´C:\criabanco.txt´);
              Reset(arquivo); // executo os scripts em sql
              while not Eof(arquivo) do
                begin
                  Readln(arquivo, linha);
                      with Query do
                        begin
                          try
                            close;
                            sql.clear;
                            sql.Add(linha);
                            execsql;
                          except
                            close;
                          end;
                        end;
                    end;
                end;
              CloseFile(arquivo);


linha seria a varialvel que conteria o arquivo..
no aruivo como que eu uso o sql??


GOSTEI 0
Cdaraujo

Cdaraujo

01/03/2004

Caro amigo,

Na verdade vc está querendo fazer um executor de scripts.
Para isso crie um pequeno form com um Memo e um botão para execução do Script no banco.
Isso é simples, já o código SQL, utilize o padrão!

Daniel Araújo

ok.. eu quero fazer com que o conteudo esteja em um arquivo .txt e eu execute linha por linha deste .txt.. fazendo as alterações como: drop, alter, create, insert, delete,... etc.. como que eu usaria???? no delphi:
              AssignFile (arquivo, ´C:\criabanco.txt´);
              Reset(arquivo); // executo os scripts em sql
              while not Eof(arquivo) do
                begin
                  Readln(arquivo, linha);
                      with Query do
                        begin
                          try
                            close;
                            sql.clear;
                            sql.Add(linha);
                            execsql;
                          except
                            close;
                          end;
                        end;
                    end;
                end;
              CloseFile(arquivo);
linha seria a varialvel que conteria o arquivo.. no aruivo como que eu uso o sql??



GOSTEI 0
Zumbi

Zumbi

01/03/2004

obrigado por ter m ajudado cdaraujo!!!

eu consegui resolver meu problema... ai vai para que um dia precisar:

eu criei uma nova varavel do tipo string...

AssignFile (arquivo, ´C:\criabanco.txt´);
Reset(arquivo);
AcodSQL := ´´;
while not Eof(arquivo) do
begin
Readln(arquivo, linha);
AcodSQL := linha;
with Query do
begin
try
close;
sql.clear;
sql.Add(AcodSQL);
execsql;
except
close;
end;
end;
end;
end;
CloseFile(arquivo);

ae esta soh essa alteração fez funcionar... hehehe :wink:
que coisa...


GOSTEI 0
POSTAR