Estimado,

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. 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

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. 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.

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

E por aí vai. Aguardamos um retorno seu.

Saudações.

---
[]'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 >>>>>

<*> 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