Este é um post disponível para assinantes MVPVideo: Rad Studio 2007-DBX4 e Firebird 2.0-Aplicação comercial de vendas do Inicio ao Fim-Parte 13-Funções para Gerar chave-primária(Primary Key) e Capturar de Erros
Nesta vídeo-aula, veremos a necessidade de termos o valor do campo chave-primária antes de gravarmos o registro no banco.
Título:Rad Studio 2007-DBX4 e Firebird 2.0-Aplicação comercial de vendas do Inicio ao Fim-Parte 13-Funções para Gerar chave-primária(Primary Key) e Capturar de Erros
Tempo: 24m53s
Mini resumo: Nesta vídeo-aula o autor da continuidade a serie sobre D2007 com Tecnologia DBExpress 4 e FireBird 2.0 criando uma aplicação completa. Em sua última vídeo o autor criou os relacionamentos Master Detail da aplicação.Nesta vídeo ele aborda um tópico necessário a antes da criação das telas de cadastro de perfil e vendas. Nestas telas devemos ter o valor do campo chave primária antes de gravarmos o registro no banco de dados para que o DBX possa replicá-lo para os registros filhos automaticamente. Um outro ponto que o autor aborda e a necessidade de interceptar os erros que ocorrem no ClientDataSet na hora de gravar os registros. Ele mostra como interceptar o evento ReconcilerError de todos os ClientDataSet de uma forma bem simples.
Tecnologias utilizadas: Delphi 2007, DBX4.
Exemplos construídos:Funções para Primary Key e Captura de Erros.
Palavras chave: Delphi, FB 2.0, DBX4, Reconciler.

11 COMENTÁRIOS
oi Rodrigo, tudo bem

Olá Gilson,


Saudações
Estou acompanhando as videos aulas e estou gostando da metodologia e da praticidade em resolver as pedras
pelo caminho. Parabens !
Eu assisti a aula XIII, a parte de Captura de Erros e tentei aplicar, porem não fui muito feliz. Vamos ver ser vc consegue me ajudar.
Eu estou desenvolvendo uma aplicação em camada, ou seja, tenho um servidor de aplicação de um lado e do outro o cliente, gostaria de saber onde deve ser colocado o tratamento de erro com a caixa de dialogo do reconcile error, coloquei no lado cliente, porem não funciona, da o erro mas sem o tratamento. Eu creie uma procedure com os parametros necessarios e quando carrega a tela eu verifico quem é Client Data Set na tela e atribuo essa procedure ao evento OnReconcileError. Essa procedure por sua vez fica numa Unit global que chama a tela do Reconcile Erro. To trabalhando tbem com herança de formulario. Porem não funciona, tem algum macete !? Ou é CDP ? Fico no aguardo de uma Luz
Bem o codigo fica sempre do lado do cliente. Repare quando voce cria um servidor de app os metodos da TypeLibrary vem com a diretiva SafeCall. Esta diretiva faz com que toda a excecao seja repassada para o cliente. Os 7 metodos da interface IAppServer que o ClientDataSet implementa ja tem essa diretiva, inclusive o applyupdates.
Verifique melhor seu codigo pois mesmo que seja um showmessage, se tiver no evento onreconcilererror e ocorrer um problema ele tem que exibir a mensagem.
Estamos ás ordens !!!
P.S.: Agora vai minha dúvida. O que é CDP ? kkkkkkkkkkkkk Boiei !!!!!!!
Saudações Rodrigo.
Então, após uma melhor analise no codigo fonte e no funcionamento do ReconcileError pude identificar e entender o processo do mesmo. Pelo que entendi tal processo é chamado ao aplicar o applyupdate, a tela é carregada caso exista algum erro, porem é possivel tratar esse erro, mas ao dar o "OK" na tela de Reconciliamento o mesmo não salva no banco, é necessario um novo applyupdate, correto? Outra duvida, é possivel tratar qquer erro dentro do ReconcileError, por exemplo campos requeridos, pois qdo este acontece não é chamado a tela?
Bem, agora só pra matar a sua curiosidade, aqui na empresa usamos a expressão CDP. Qdo ela acontece não queremos estar na reta, ou sermos os responsaveis pelo ocorrido, ou seja: CDP = Cagada de Programador. Hahahah...!!!
Grande abraço. Continue com o curso, pois esta muito legal o material. Parabens.

Curso(s):
Space do autor

download

6
0
