Fórum Alterando a Tabela Via progamação #217567
01/03/2004
0
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
Curtir tópico
+ 0Posts
01/03/2004
Cdaraujo
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
ALTER TABLE teste ADD teste1 CHAR(1) DEFAULT ´N´, ADD teste2 CHAR(1) DEFAULT ´N´, ADD teste3 CHAR(1) DEFAULT ´N´;
Gostei + 0
02/03/2004
Zumbi
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
02/03/2004
Cdaraujo
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
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);
Gostei + 0
02/03/2004
Zumbi
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
Clique aqui para fazer login e interagir na Comunidade :)