Fórum como Fazer o Auto-incremento gerado no SQL Server aparecer automaticamente no DBEDIT #443332
17/05/2013
0
como Fazer o Auto-incremento gerado no SQL Server aparecer automaticamente no DBEDIT
ou seja quando eu apertar o Botão inserir ele aparaece no DBEDIT antes de Gravar.
Osvaldo Nguli
Curtir tópico
+ 0Posts
17/05/2013
Alex Constâncio
Isso vai depender do tipo de dataset que você está usando. Se for com o TClientDataset fica fácil. O TDataSetProvider tem uma opção chamada PropagateChanges que precisa estar ativa e durante a execução do BeforeUpdateRecord você deve atribuir o novo valor gerado para o NewValue do field. Com isso, no momento do reconcile o CDS vai perceber que há um novo valor para o field e assumi-lo.
Alex
Gostei + 0
17/05/2013
Osvaldo Nguli
Isso vai depender do tipo de dataset que você está usando. Se for com o TClientDataset fica fácil. O TDataSetProvider tem uma opção chamada PropagateChanges que precisa estar ativa e durante a execução do BeforeUpdateRecord você deve atribuir o novo valor gerado para o NewValue do field. Com isso, no momento do reconcile o CDS vai perceber que há um novo valor para o field e assumi-lo.
Alex
BeforeUpdateRecord de qual componete?
podes explicar Passo a Passo
é que eu sou iniciante "NIVEL 1.... Rsrrsrs"
Gostei + 0
17/05/2013
Osvaldo Nguli
isso vai depender do tipo de dataset que você está usando. se for com o tclientdataset fica fácil. o tdatasetprovider tem uma opção chamada propagatechanges que precisa estar ativa e durante a execução do beforeupdaterecord você deve atribuir o novo valor gerado para o newvalue do field. com isso, no momento do reconcile o cds vai perceber que há um novo valor para o field e assumi-lo.
alex
explica-me esta parte:
e durante a execução do beforeupdaterecord você deve atribuir o novo valor gerado para o newvalue do field. com isso, no momento do reconcile o cds vai perceber que há um novo valor para o field e assumi-lo.
Gostei + 0
17/05/2013
Alex Constâncio
BeforeUpdateRecord é um evento do TDatasetProvider (DSP), componente que coopera com o TClientDataset (CDS). O CDS é um dataset bem funcional, mas não tem capacidade de buscar ou atualizar dados, opera apenas em memória. Quando precisa ir buscar dados ou alterá-los, o CDS precisa recorrer ao um outro componente que o auxilia. Trata-se do DSP.
O propósito do DSP é trocar dados com o CDS. Quando o CDS manda um conjunto de registros para serem persistidos (ou seja, para que operações sejam realizadas no banco de dados) o DSP gera um evento chamado BeforeUpdateRecord para cada um destes registros. Neste evento ficará o código para fazer INSERT, DELETE e UPDATE de cada registro, conforme necessidade.
O CDS manda apenas os registros que sofreram alguma mudança. Estes registros são conhecidos por Delta. Com base no Delta será possível executar precisamente a operação necessária no banco de dados para que alterações feitas apenas em memória no CDS sejam registradas de forma persistente.
Em todos os casos é possível atribuir valores para o NewValue de fields do Delta. Quando o provider termina sua operação ele reenvia este Delta novamente para o CDS fazer realizar um processo chamado Reconcile, que servirá de confirmação que as alterações comandadas foram efetivamente persistidas. Neste momento ele atualiza os seus fields com os eventuais NewValue dos fields do Delta que possam ter sido alterados durante a aplicação das alterações.
Este é um resumo do uso do par CDS/DSP, mas te aconselho a procurar detalhes no help do Delphi.
Alex
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)