Como criar uma tabela a partir de uma procedure?
como faço para criar uma tabela a partir de uma procedure do tipo
procedure TForm1.FormClick(Sender: TObject);
procedure TForm1.FormClick(Sender: TObject);
Gandalf
Curtidas 0
Respostas
Afarias
18/11/2003
vc quer dizer, em um procedimento do DELPHI (não do IB) ... bom, tem várias maneiras, uma delas::
coloque e configure no form ou dataModule os componentes IBDatabase, IBTransaction e IBSQL e faça, no seu procedimento::
with IBSQL1 do
try
SQL.Text := ´CREATE TABLE {...bla,bla,bla...}´;
Transaction.StartTransaction;
ExecQuery;
finally
Transaction.Commit;
end;
se desejar executar vários comandos SQL de uma só vez use o componente IBScript.
T+
coloque e configure no form ou dataModule os componentes IBDatabase, IBTransaction e IBSQL e faça, no seu procedimento::
with IBSQL1 do
try
SQL.Text := ´CREATE TABLE {...bla,bla,bla...}´;
Transaction.StartTransaction;
ExecQuery;
finally
Transaction.Commit;
end;
se desejar executar vários comandos SQL de uma só vez use o componente IBScript.
T+
GOSTEI 0
Gandalf
18/11/2003
como eu faço para usar uma string para dar o nome da tabela?
grato pela ajuda,
grato pela ajuda,
GOSTEI 0
Gandalf
18/11/2003
como eu faço para usar uma string para dar o nome da tabela?
o meu problema e que o valor de um campo anterior tem de ser concatenado e depois ser usado como nome da tabela recem criada
GOSTEI 0
Afarias
18/11/2003
concatene a string no TEXTO do comando SQL q está montando. minha forma preferida é usando o comando format!
ex:;
const
SQL1 = ´create table ¬s ( ....bla,bla,bla... )´;
begin
{...}
IBSQL1.SQL.Text := Format(SQL1, [Edit1.Text]);
{...}
mas vc tb pode fazer algo como::
IBSQL1.SQL.Text := ´CREATE TABLE ´ + Edit1.Text + ´ (...bla,bla,bla...)´;
T+
ex:;
const
SQL1 = ´create table ¬s ( ....bla,bla,bla... )´;
begin
{...}
IBSQL1.SQL.Text := Format(SQL1, [Edit1.Text]);
{...}
mas vc tb pode fazer algo como::
IBSQL1.SQL.Text := ´CREATE TABLE ´ + Edit1.Text + ´ (...bla,bla,bla...)´;
T+
GOSTEI 0