>
> 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:[EMAIL PROTECTED]
> 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+


[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