Criar tabela e campos em tempo de execução

Delphi

07/08/2003

Gostaria obter ajuda na construção de um pequeno aplicativo (com uma tabela), e que a tabela e seus campos sejam criados em tempo de execução, e que possa imprimir o formulário diretamente para impressora. Copiei e adaptei o exemplo do help do delphi, porém apresenta erros na execução.

Grato pela ajuda,

Francisco Luna

francisco_luna@uol.com.br


Lunaf

Lunaf

Curtidas 0

Respostas

Romer

Romer

07/08/2003

o seguinte codigo dentro de componente query po exemplo, cria a tabela
temporaria.

create table #temp(
codigo integer primary key,
nome char(30))

depois e so fazewr insert normal
insert temp
values(1,´testando 123´)

depois e so fazer um select nesta tabela
select * from temp

para utilizar os campos utilize
nomedaquery.fieldbyname(´codigo´).value;

acho que ja da pra comecar...


GOSTEI 0
Bacalhau

Bacalhau

07/08/2003

O exemplo seguinte foi construido por mim para criar uma tabela de registo de acções no sistema, se ela não existir.

// inicializa serviços de log

if not fileExists(´PDG.DB´) then
begin
log.active := false;
log.TableType := ttParadox;
log.TableName := ´PDG.DB´;
log.fielddefs.clear;
log.fielddefs.add(´Contador´, ftAutoInc, 0 , true);
log.fielddefs.add(´Data´,ftDate, 0, false);
log.fielddefs.add(´Hora´,ftTime, 0, false);
log.fielddefs.add(´Tipo´, ftString, 20, False);
log.fielddefs.add(´Módulo´, ftString, 5, False);
log.fielddefs.add(´User´, ftString, 20, False);
log.fielddefs.add(´Form´, ftString, 40, False);
log.fielddefs.add(´Controle´, ftString, 40, False);
log.fielddefs.add(´Acção´, ftString, 100, False);
log.fielddefs.add(´Código´, ftString, 50, False);

log.indexdefs.clear;
log.indexdefs.Add(´´, ´Contador´, [ixPrimary, ixUnique]);
log.indexdefs.Add(´LOG_DATA´, ´Data´, [ixCaseInsensitive]);
log.indexdefs.Add(´LOG_TIPO´, ´Tipo´, [ixCaseInsensitive]);
log.indexdefs.Add(´LOG_MOD´, ´Módulo´, [ixCaseInsensitive]);
log.indexdefs.Add(´LOG_USER´, ´User´, [ixCaseInsensitive]);
log.indexdefs.Add(´LOG_CODE´, ´Código´, [ixCaseInsensitive]);
log.CreateTable;

log.active := true;


É claro que os nomes, tipo de tabela, campos e respectivos tipos terão de ser modificado à tua medida

Abraço do bacalhau


GOSTEI 0
POSTAR