resolvi! cara fiz o sequinte:
adicionei os field's no sqldataset e no clientdataset tb! ai desabilitei os
pfInUpdate, pfInWhere dos campos vindos dos joins no sqldataset e fiz a
merma coisa no  clientdataset, ai coloquei o updatemode = upwhereall e
deixei o resto como padrao e resolveu tudo.
valeu pela dica vc realmente me ajudou bastante.
estou te devendo uma. conte comigo pra qualquer coisa.
t+


Em 05/02/06, Rafael Jorge <[EMAIL PROTECTED]> escreveu:
>
> Bom dia. Se o sql está no ClientDataSet, certifique-se de que a opção
> > AllowCommandText do seu PROVIDER esteja TRUE. Isso faz com que o
> > SQLDataSet ou SQLQuery que está na outra ponta aceite os comandos vindos
> > do clientDataset.
>
>
> -> é assim que eu trabalho. eu tb tive que colocar o pouserqoutchar =
> false no datasetprovider senao ele dava sempre o erro que falei.
>
> Outra coisa é com o jeito de fazer os selects e joins.
> > Eu faço assim:
> >
> > SELECT v.*, c.Nome, c.Bairro, c.Numero, c.Cidade, c.Telefone,
> > c.Endereco,
> >        c.Uf, c.Cep, r.Nome AS NomeVendedor
> > FROM venda_pedido v LEFT JOIN cliente c  ON c.Codigo = v.Codigo
> >                     LEFT JOIN vendedor r ON r.Codigo = v.Vendedor
> > WHERE v.Empresa = :emp
> > AND   v.NumPedido = :pedido
>
>
> -> sequindo sua ideia mudei meu slq para:
> select venda_pedido.*, cliente.nome,cliente.bairro, cliente.endereco,
> cliente.cep, cliente.cidade, cliente.numero, cliente.uf,
> venda_vendedor.nome vendnome from venda_pedido LEFT JOIN venda_vendedor on
> venda_vendedor.codigo = venda_pedido.vendedor LEFT join cliente on
> cliente.codigo = venda_pedido.cliente where venda_pedido.empresa = :emp
>
> Sinceramente eu não utilizo a prática de passar comandos pelo
> > ClientDataSet. Eu faco sempre:
> >
> > SQLQuery + Provider + ClientDataSet + DataSource
> >
> > Todos os comandos eu passo direto para a SQLQuery e o ClientDataSet só
> > serve pra dar Open/Post/Apply/Insert/Edit e Delete.
>
>
> -> eu preciso passar os comandos direto pro clientdataset. pois o sistema
> ja foi todo padronizado dessa forma e nao tem como eu mudar agora. mas num
> futuro proximo testarei dessa forma pra ver no que da.
>
> Mas cada um trabalha
> > como quer né. Outra questão é sobre o UPDATEMODE, do provider. Nesse seu
> >
> > caso ai ele tem que ser KeyOnly. Daí, no SQLQuery eu adiciono todos os
> > campos. No Tfields da SQLQuery, para os campos que não sofreram nenhuma
> > modificação (caso os do cliente e o vendedor) eu desabilito todos os
> > providers flag. Para os campos chave (empresa e teoricamente numero do
> > pedido, que você não mencionou) eu coloco pfInUpdate, pfInWhere e
> > pfInKey como true. Por fim, para o restante dos campos somente
> > pfInUpdate.
>
>
> -> fiz do jeito que vc falou. e realmente deu certo. eu gravei o registro
> sem da erro. mas se ess e registro for editado  e depois  receber um post
> ele da o erro que eu falei. so que so dentro do delphi, se eu estiver
> rodando sem debuger ele nem apresenta a mensagem de erro mas tb nao grava as
> auteracoes no campo.
>
> Tem alguns exemplos na net como o sistema DATACAR do Guinther que tá no
> > quality central da borland, é só se cadastrar e baixar. Tem também
> > apostilas e vários outros materiais do nosso companheiro Bruno.
> >
> > www.micrologos.com.br/mc_clienteservidor.zip
>
>
> -> valeu pelas dicas.
>
> E por aí vai. Aguardamos um retorno seu.
> >
> > Saudações.
>
>
> -> obrigado. vc me ajudou em muito.
> realmente estou grato.
>
> ---
> > []'s
> >
> > Alexandre
> >
> > Frase da semana: "Não basta ter grandes qualidades, cumpre saber
> > usá-las." (La Rochefoucauld)
> > -----Mensagem original-----
> > De: delphi-br@yahoogrupos.com.br [mailto:delphi-br@yahoogrupos.com.br ]
> > Em nome de Rafael Jorge
> > Enviada em: sábado, 4 de fevereiro de 2006 13:51
> > Para: delphi-br
> > Assunto: [delphi-br] [URGENTE] Clientdataset e delphi 2006
> >
> > eu utilizava IBO é ao migrar para dbexpress to apanhando feio com erros
> > estranhos. um deles e o que esta impedindo de dar continuidade ao meu
> > trabalho e esse, ao dar um post num clientdataset esta tudo certo ai dou
> > um applyupdates e acontece isso -> raised exception class edatabaseerror
> >
> > with message 'Database server error:
> > column unknown <nome da coluna da tabela>'
> > se eu mando continuar ai vem essa proxima mensagem ->  raised exception
> > class edatabaseerror with message 'unables to find record.
> > no key specified'
> >
> > so que a tabela tem chave primaria e tudo. ao abrir ela ela abre. da
> > post e tudo so na hora do applyupdates ele da pau.
> > o sql que ta no clientdataset é :
> > select venda_pedido.*, cliente.nome , cliente.bairro, cliente.numero,
> > cliente.cidade, cliente.telefone, cliente.endereco,
> > cliente.uf,cliente.cep, venda_vendedor.nome vendnome from cliente,
> > venda_pedido, venda_vendedor where cliente.codigo = venda_pedido.cliente
> >
> > and venda_vendedor.codigo = venda_pedido.vendedor and
> > venda_pedido.empresa = :emp
> >
> > realmente nao sei mais o que fazer.
> > COLOQUEI o providerflags o pfinupdate = false nos campos que vem de
> > outra tabela, mas deu em nada. sempre o mesmo erro. nao sei mais o que
> > fazer. meu trabalho esta parado e nao arrumo solucao pra isso.
> > t+
> >
> > --
> > Rafael jorge alves
> > www.itrecife.com -> para verem meus artigos e trabalhos
> > t+
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> > --
> > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> >
> >
> >
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > __________ NOD32 1.1392 (20060202) Information __________
> >
> > This message was checked by NOD32 antivirus system.
> > http://www.eset.com
> >
> >
> >
> >
> > --
> > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> >
> >
> >
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
> --
> Rafael jorge alves
> www.itrecife.com -> para verem meus artigos e trabalhos
> t+
>



--
Rafael jorge alves
www.itrecife.com -> para verem meus artigos e trabalhos
t+


[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a