Leonair 0 Denunciar post Postado Novembro 26, 2007 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
marcio.theis 3 Denunciar post Postado Novembro 26, 2007 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
Leonair 0 Denunciar post Postado Novembro 27, 2007 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
Leonair 0 Denunciar post Postado Novembro 30, 2007 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
marcio.theis 3 Denunciar post Postado Novembro 30, 2007 beleza... Usando comandos SQL, melhor mesmo... Compartilhar este post Link para o post Compartilhar em outros sites