[firebase-br] Sobre DBExpress - Off

Roberto - Sui Generis roberto em suigenerisinf.com.br
Qui Ago 25 10:25:19 -03 2005


Tive diversos problemas com o DBExpres... Baixei uma atualização do Delphi
7, acho que é Update 7.1... Procurem com Google... E meus problemas
terminaram...

----- Original Message -----
From: "Francisco Thiago" <jeandeadlucky em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Tuesday, August 23, 2005 6:14 PM
Subject: Re: [firebase-br] Sobre DBExpress - Off


> Li os outros e-mails e pensei mais um pouco para responder novamente.
>
> Olha, várias coisas podem estar acontecendo... ainda mais por causa do
> select que você está fazendo... Mas o mais provável é que o
TDataSetProvider
> esteja gerando o código errado.
>
> Você pode comprovar isso utilizando o SQLMonitor do DBExpress e
verificando
> o SQL gerado pelo DataSetProvider.
>
> Porque o erro acontece?
>
> Provavelmente você está alterando um campo que vem do join. O
> DataSetProvider identificou que alguma coisa foi alterada e mandou gerar o
> update/insert. Só que como - possívelmente - o campo modificado é um campo
> do join - e por isso no pfInUpdate dele DEVE estar false - o
DataSetProvider
> não gera nada... ou pior, gera sim. Algo como
>
> update tabela set
> where
>  ...
>
> Isso é um bug. Corrigido, segundo a borland, no UpdatePack1.
> Encontrei um código da internet que se modificado no Delphi, arrumaria
este
> bug também....
> (fico devendo o endereço, não achei)
>
> Bem... de imediato o que você pode fazer:
>
> 1- Certificar-se de que um campo real na tabela seja atualizado (mudar
para
> o mesmo valor, não conta como modificação)
> 2- Utilizar o evento BeforeUpdateRecord e atualizar na unha.... (não sei
> como ficaria a transação no caso)
> 3- Utilizar um método que faça a alteração pra você. Neste caso, você iria
> gerar o SQL na unha.
>
> Quando eu encontro um problema deste tipo, ou em uma situação onde tenho
de
> atualizar a família inteira (avô, pai, filhos, conhunado e tia
solteironha)
> eu crio uma procedure que recebe a property Data do CDS e gero o SQL em
> tempo de execução... Eu tenho as minhas próprias rotinas de criação de SQL
e
> controle transacional... Se quiser, te passo as de SQL... (Insert e Edit
que
> fiz).
>
> Resumindo, é isso.
>
> []'s e boa sorte
>
>
> Francisco Thiago de Almeida
> Enter & Plug Informática
> Divisão: Desenvolvimento e Banco de dados
> Franca / SP
> msn: thiago em enterplug.com.br
>
>
> PS: Tô até vendo os comentários que este e-mail vai gerar hehehehehe
>
>
>
>
>
> ----- Original Message -----
> From: "Roberto - Sui Generis" <roberto em suigenerisinf.com.br>
> To: "Firebase" <lista em firebase.com.br>
> Sent: Tuesday, August 23, 2005 4:08 PM
> Subject: [firebase-br] Sobre DBExpress - Off
>
>
> Estou usando DBExpress, Mestre detalhe com NestedDataset
> Quando entro no Sistema e gravo uma Nota Fiscal com seus Itens... A Nota e
> os Itens são gravados corretamente, mas quando tento gravar a Segunda Nota
> Fiscal ocorre erro na linha:
>
> "if ClientDataSetMestre.ApplyUpdates(0) = 0 then"
>
>  o seguinte erro ocorre:
>
>  Token unknown - line 2, char 1 where
>  Obs: Já olhei meu select e a princípio está OK...
>
>  Parece que algo fica pendente...
>
>  Alguém tem uma idéia do que pode ser ???
>
>  Roberto Krug
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
>
>
>
> _______________________________________________________
> Yahoo! Acesso Grátis - Internet rápida e grátis.
> Instale o discador agora! http://br.acesso.yahoo.com/
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista