Autoincremento com ClientDataSet

Firebird

04/03/2005

pessoal estou desenvolvendo em MIDAS ClientDataSet/DataSetProvider + DBExpress, e reparei que não resolveu usar o auto incremento nas tabelas (´visto que só irão ser auto incrementadas após o ApplyUpdate´, porém gostaria de saber como desativar os índices de uma tabela (visto que vou inserir vários registros no ClientDataSet e só depois usarei o ApplyUpdates) ou seja enquanto estiverem na memória os índices não serem requeridos e após o envio sejam incrementados um a um...


Bruno Belchior

Bruno Belchior

Curtidas 0

Respostas

Afarias

Afarias

04/03/2005

Os índices do banco não tem qualquer efeito sobre o ClientDataSet. Os índices do ClientDataSet vc tem total controle.

Existem algumas abordagens para esses casos, sendo 2 delas:

1- atribuir valores temporários (um auto-incremento local) ao campo, q será substituído no ApplyUpdates (quando for OK)

2- no OnNewRecord ou BeforePost do CDS fazer a chamada para pegar o novo valor do Generator.


T+


GOSTEI 0
Bruno Belchior

Bruno Belchior

04/03/2005

caro amigo kdo postei essa mensagem já tinha adotado a primeira alternativa e criei uma tabela constando o incremento de todos os índices do Banco de Dados (não usei generator devido a chance de meu sistema portar para outros servidores é grande) implementando o incremento em tempo de execução no Data do ClientDataSet, mas quando tentava passar índices para o ClientDataSet repetidos ele me retornava um erro de execução, quero saber se há possibilidade de ele (o ClientDataSet) suportar não passar valores de índices para ele e qdo der um ApplyUpdate ele autoincrementar com o gatilho pré-programado?


GOSTEI 0
POSTAR