Fórum Criar tabela e campos em tempo de execução #173595
07/08/2003
0
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
Grato pela ajuda,
Francisco Luna
francisco_luna@uol.com.br
Lunaf
Curtir tópico
+ 0
Responder
Posts
07/08/2003
Romer
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...
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...
Responder
Gostei + 0
08/08/2003
Bacalhau
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
// 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
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)