Zafio,

      Deixa todas opções do ProviderFlags dos campos que não serão como
False.

      Para trabalhar com Mestre/Detalhe com DBExpress não há necessidade
de dar close/open, é só usar o esquema de ligação abaixo:

============================
Componentes Mestre
============================

SQLQueryMestre
Propriedades
  - SQL = Select * From Menus
  - SQLConnection = Ao seu componente SQLConnection

DataSetProviderMestre
Propriedades
  - DataSet = SQLQueryMestre
  - Options = [poIncFieldProps, poAllowCommandText]
  - UpdateMode = upWhereKeyOnly

ClientDataSetMestre
Propriedades
  - ProviderName = DataSetProviderMestre

DataSourceMestre
Propriedades
  - DataSet = ClientDataSetMestre

Obs.: Inclua os campos no FieldsEditor do ClientDataSet e SQLQuery. Ainda no
FieldsEditor, identifique quais campos compõem a chave (selecione os campos
que compõem a chave e altere a Propriedade ProviderFlags para [pfInWhere,
pfInKey]), para os demais campos (selecione todos e altere a Propriedade
ProviderFlags para [pfInUpdate]).

============================
Componentes Detalhe
============================

SQLQueryDetalhe
Propriedades
  - SQL = Select * From SubMenus Where Cod_Menu = :Cod_Menu
  - DataSouce = DataSourceMestre      (***)
  - SQLConnection = Ao seu componente SQLConnection

Obs.: Informe as propriedades do Param;

DataSetProviderDetalhe
Propriedades
  - DataSet = SQLQueryMestre
  - Options = [poIncFieldProps, poAllowCommandText]
  - UpdateMode = upWhereKeyOnly

ClientDataSetDetalhe
Propriedades
  - ProviderName = DataSetProviderMestre
  - MasterSource = DataSourceMestre (***)
  - MasterFields = (Clique no 3 pontinhos e selecione o campo chave nas duas
tabelas e clique no botão [ Add ] e depois [ OK ]

Obs1.: Clique com o botão direito sobre o componente ClientDataSetDetalhe e
selecione a opção Fetch Params;

Obs2.: Inclua os campos no FieldsEditor do ClientDataSet e SQLQuery. Ainda
no FieldsEditor, identifique quais campos compõem a chave (selecione os
campos que compõem a chave e altere a Propriedade ProviderFlags para
[pfInWhere, pfInKey]), para os demais campos (selecione todos e altere a
Propriedade ProviderFlags para [pfInUpdate]).

-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de zafio
Enviada em: terça-feira, 30 de maio de 2006 16:03
Para: delphi-br
Assunto: Re:RES: [delphi-br] DBEXPRESS / master/detail

Ok, é assim que estou usando, mas vamos supor que eu tenha uma sqlquery
assim:
SELECT CIDADES.*,ESTADOS.DESCR FROM CIDADES,ESTADOS WHERE CIDADES.UF =
ESTADOS.CODIGO

Mesmo setando os campos dos estado como pfhidden ou não marcando com
pfiupadade não consigo gravar os dados na tabela cidade.
Outra duvida é em relação a master/detail , tenho sempre dar um close/open
na detail quando movimento a master?


> Zafio,
>
> Essa é forma de trabalhar com DBExpress. Dê uma olhadinha nas
> configurações do DataSetProvider eu acho que faltou apenas isso na sua
> configuração.
>
> Segue abaixo as conexões:
>
> ============================
> Componentes
> ============================
>
> SQLQuery
> Propriedades
> - SQL = Select * From TABELA
> - SQLConnection = Ao seu componente SQLConnection
>
> DataSetProvider
> Propriedades
> - DataSet = SQLQuery
> - Options = [poIncFieldProps, poAllowCommandText]
> - UpdateMode = upWhereKeyOnly
>
> ClientDataSet
> Propriedades
> - ProviderName = DataSetProvider
>
> DataSource
> Propriedades
> - DataSet = ClientDataSet
>
> Obs.: Inclua os campos no FieldsEditor do ClientDataSet e SQLQuery. Ainda
no
> FieldsEditor, identifique quais campos compõem a chave (selecione os
campos
> que compõem a chave e altere a Propriedade ProviderFlags para [pfInWhere,
> pfInKey]), para os demais campos (selecione todos e altere a Propriedade
> ProviderFlags para [pfInUpdate]).
>
>
> Atenciosamente,
> Douglas Uesato
>
> -----Mensagem original-----
> De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
> nome de zafio
> Enviada em: terça-feira, 30 de maio de 2006 07:45
> Para: delphi-br
> Assunto: Re:[delphi-br] DBEXPRESS / master/detail
>
> Sei que todos estão cansados, mas não consegui achar nas mensagens
> anteriores nada sobre dbexpress que me elucidase as seguintes duvidas:
> utilizo sqlquery +datasetprovider + clientdataset , ja tentei colocal
> pfhidden, marcar FALSE nos providerflags nas colunas que não desejo
> atualizar, mas quando relaciono mais de uma tabela ou ainda apenas coloco
o
> nome das colunas na query o sistema nao grava so grava seu colocar ex:
> SELECT * FROM CIDADES .
> A segunda dúvida é que quanto tenho uma tabela master e outra detalhe para
> atualizar os detalhes sempre tenho que dar um close/open para visualizar
> corretamente? , se não fica no registro anterior ou tem algo que posso
setar
> p/ ser automatico.?
>
>
> [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
>
>
>
>
>
>
>
>


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

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



Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE


Links do Yahoo! Grupos

Responder a