No Evento OnGetTableName do DataSetProvider, informe o nome da Tabela a ser 
alterada na variavel-parâmetro TableName.

ProviderFlags:

Todas as alterações são feitas por meio de SQL construidos dinamicamente 
pelo DataSetProvider. Antigamente (nos tempos negros da BDE) nós 
utilizavamos o componente TQuery associado ao TUpdateSQL para tornar um 
TQuery atualizavel. E lá nós escolhiamos os campos a serem alterados e que 
fariam parte do Where. Com o CDS não se faz isso... Você configura apenas no 
DataSet em que está ligado o DSP a propriedade ProviderFlags dos TFields.
As propriedades tem a seguinte funcionalidade:

pfInKey = Se marcado como true, o DSP entenderá que o campo é uma/faz parte 
da chave primária da tabela.
pfInUpdate = Se marcado como true, o DSP entenderá que o campo será 
atualizável
*pfInWhere = Se marcado como true, indicará que este campo poderá fazer 
parte do where nos sql's de alteração (Updates e Deletes)
pfHidden = Não sei pra que serve...

Juntamente com o ProviderFlags (que está nos TFields do DataSetSource), o 
DSP precisa configurar a sua propriedade UpdateMode que pode ser:

upWhereKeyOnly = O nome é auto explicativo. Para os SQL de alteração de 
dados, apenas o campo marcado como chave (pfInKey) será usado no where.
upWhereChanged = Somente os campos marcados com pfInWhere e que foram 
modificados entraram no Where de atualização
upWhereAll = Todos os campos marcados como pfInWhere farão parte do where de 
alteração de dados. Daí vem uma confusão particular minha, pois não sei se 
sao APENAS os campos marcados com pfInWhere ou todos do ResultSet


Com base nestas informaçoes, você pode decidir o que vai fazer :D

[]'s

Francisco Thiago de Almeida
Enter & Plug Informática
Divisão: Desenvolvimento e Banco de dados
Franca / SP
msn: [EMAIL PROTECTED]




----- Original Message ----- 
From: "LRFreitas" <[EMAIL PROTECTED]>
To: <delphi-br@yahoogrupos.com.br>; "'Murillo Proença'" 
<[EMAIL PROTECTED]>
Sent: Wednesday, November 23, 2005 12:51 PM
Subject: RES: [delphi-br] Re: Gravar Registro com 
sqldataset+datasetprovider+clientdataset usando join no


Amigo,

Já fiz isto que vc falou e não adiantou nada dá o erro:
SQL Server Error: Table unknown
producaos
At line 1, column 21.
Diz pra mim quais são os flags dos campos que preciso atualizar.

Obrigado

Levi

-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Murillo Proença
Enviada em: quarta-feira, 23 de novembro de 2005 09:23
Para: delphi-br@yahoogrupos.com.br
Assunto: [delphi-br] Re: Gravar Registro com
sqldataset+datasetprovider+clientdataset usando join no

Mude a propriedade ProviderFlag dos TFields que você não quer que sejam
atualizados, tire a opção pfInUpdate

--- Em delphi-br@yahoogrupos.com.br, "Levi Ribeiro de Freitas"
<[EMAIL PROTECTED]> escreveu
> Pessoal,
>
> Estou precisando gravar um registro usando D7, Firebird 1.5 +
> sqldataset+datasetprovider+clientdataset, mas estou usando join no
select,
> vejam:
>
> select a.*, b.tratamento, c.comprimento, c.liga, c.tempera,
d.gramatura,
> d.gramaturaplc from producaos a
> left join cadastro b on (a.id = b.id) and  (a.codigo = b.codigo) left
> join ipedido c on (a.pedido_id = c.pedido_id) and (a.item = c.item)
> left join iferramenta d on (a.ferramenta_id = d.ferramenta_id) and
> (a.sequencia = d.sequencia) where a.status = 0 order by a.protocolo
>
> Preciso salvar apenas o registro de uma tabela, como faço?
> Tento mas ele dá erro.
>
> Atenciosamente,
>
> Levi Ribeiro de Freitas
> Programador de Computadores
>  <mailto:[EMAIL PROTECTED]>
>
>
> [As partes desta mensagem que não continham texto foram removidas]




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



Links do Yahoo! Grupos









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



Links do Yahoo! Grupos









        

        
                
_______________________________________________________ 
Yahoo! Acesso Grátis: Internet rápida e grátis. 
Instale o discador agora!
http://br.acesso.yahoo.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