Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leonair

[Resolvido] criando tabela em firebird via codigo

Recommended Posts

Ola pessoa eu preciso criar uma tabela no firebird via codigo, o codigo que usei cria a tabela mais não dentro do alias. olhem o codigo:

 

table1.Active:= false;

table1.Close;

table1.DatabaseName:='c:\SISQUALITY\BD\DBQUALITY.FDB';

table1.TableName := 'pesquisa' + '.fdb';

table1.TableType := ttDefault;

table1.FieldDefs.Clear;

table1.FieldDefs.Add('Codigo', ftInteger,0, True);

table1.FieldDefs.Add(CAMPO, ftString, 30, True);

table1.IndexDefs.Add('PrimaryIndex', 'Codigo', [ixPrimary, ixUnique]);

table1.CreateTable;

table1.Free;

table1.Open;

table1.Active:=true;

 

Estou usando componentes da paleta dbexpress, agora para criar essa tabela dinamica eu usei a table da paleta DBE. Como faço para direcionar o database.... quando coloco o caminho do database ele da erro e se tiro ele até cria mais não dentro do database....

Desde de já agradeço a ajuda...obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma forma mais simples de criar seria usando comandos SQL, como por exemplo:

 

CREATE TABLE PESQUISA (
CODIGO INTEGER NOT NULL,
CAMPO VARCHAR(30)
)

 

ALTER TABLE PESQUISA
ADD CONSTRAINT PK_PESQUISA
PRIMARY KEY (CODIGO)

 

No caso teria de usar uma query para rodar estes dois comandos, criando primeiro a tabela e depois a chave primária.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu preciso criar usando aquela forma, pois os campos eu vou tirar de um outra tabela, então nunca vou ter uma quantidade exata, o problema aqui e que preciso criar essas tabelas dentro do database....mais não da certo ele so cria fora, como devo fazer para criar dentro do database .

Obrigado Marcio.theis

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver esse problema atraves desse codigo que consegui no www.planetadelphi.com.br

 

Procedure TForm1.BitBtn1Click(Sender: TObject);

var L:TStringList;

begin

{A classe TStringList é utilizada para armazenar e manipular

uma lista de strings. Através do método Add da classe é possível

inserir uma nova string a lista}

 

//criando Stringlist na memória

L := TStringList.Create;

//pega o nome da tabela

SQLConnection1.GetTableNames(L);

//pega a posição do tbteste(começa no 0)

if L.IndexOf('tbteste') >= 0 then

begin

Showmessage('Esta tabela já existe no BD!');

Abort

end

else

begin

SQLQuery1.Close;

SQLQuery1.SQL.Clear;

SQLQuery1.SQL.Add('create table tbteste(');

SQLQuery1.Sql.Add('cod_teste integer not null primary key, ');

SQLQuery1.Sql.Add('nome_teste varchar(40))');

SQLQuery1.ExecSQL;

L.Free;

ShowMessage('Tabela Criada com sucesso!');

end;

end;

 

//Obs: é necessário ter um sqlconnection e uma sqlquery

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.