GARANTIR DESCONTO

Fórum ClientDataSet :: Field value required #277571

16/04/2005

0

Ola Pessoal, estou tendo o seguinte problema:

ao incluir dados em um clientdataset com apenas dois campos, ao dar o post ele me retorna esta mensagem. [color=red:30851bdacf]Field value required[/color:30851bdacf]


tenho os seguintes campos:
codigo (integer)
nome (string)

ai faço:
CDSDetalhe.Append;
CDSDetalhe.FieldByName(´CODIGO´).AsInteger := 1;
CDSDetalhe.FieldByName(´NOME´).AsString := ´otto´;
CDSDetalhe.Post; // aqui o erro



:arrow: os dois campos eestão como required = false; :oops:


alguem saberia informa se é bug ou DO mesmo?? :cry:


Otto

Otto

Responder

Posts

16/04/2005

Nerdex

[list:3a6a2d192c]Certamente não é bug oTTo...: eu testei aqui e funcionou blz...

Dicas:

- Verifique se os nomes dos campos correspondem ao código digitado;
- Verifique se vc criou um arquivo XML ou CDS (binário) antes de... rodar;
- Verifique se vc, após criar os campos, clicou c/ o botão direito no CD escolhendo a opção: ´Create DataSet´;
- Por último... (eu não precisei fazer). Adicione MidasLib na sua uses;

... e por último leia isto: [img:3a6a2d192c]https://www.devmedia.com.br/portal/images/shop/livro_guinther.gif[/img:3a6a2d192c] com certeza irá te ajudar...: :roll: [/list:u:3a6a2d192c]


Responder

Gostei + 0

16/04/2005

Otto

[list:f871d10c2b]Certamente não é bug oTTo...: eu testei aqui e funcionou blz...

suspeitei desde o principio...


Dicas: - Verifique se os nomes dos campos correspondem ao código digitado; - Verifique se vc criou um arquivo XML ou CDS (binário) antes de... rodar; - Verifique se vc, após criar os campos, clicou c/ o botão direito no CD escolhendo a opção: ´Create DataSet´; - Por último... (eu não precisei fazer). Adicione MidasLib na sua uses;


tudo feito, menos adicionar midaslib pq antes funcionava perfeitamente.. usava o BDE, agora to com Zeos.. :?

... e por último leia isto: [img:f871d10c2b]https://www.devmedia.com.br/portal/images/shop/livro_guinther.gif[/img:f871d10c2b] com certeza irá te ajudar...: :roll: [/list:u:f871d10c2b]

:x piada sem jeito :x


Responder

Gostei + 0

16/04/2005

Nerdex

pq antes funcionava perfeitamente.. usava o BDE, agora to com Zeos..


[list:f5adda01a9] Nem Zeus... muito menos o BDE interferem neste caso...: :wink: [/list:u:f5adda01a9]

piada sem jeito


[list:f5adda01a9] Desculpa a piada...: :oops: ... mas não é piada: o livro é legal mesmo...: :!: [/list:u:f5adda01a9]


Responder

Gostei + 0

17/04/2005

Bruno Belchior

vc está usando Mestre-Detalhe?


Responder

Gostei + 0

17/04/2005

Otto

eu incluo uns itens no clientdata set.. após o usuário clicar em salvar, eu inicio a transação e vou varrendo o client data set, inserindo um por um.. depois comito.


depurando o sistema, os dois campos estao preenchidos, no post ocorre isso :x


Responder

Gostei + 0

17/04/2005

Vinicius2k

oTTo,

Vc está usando o CDS só como tabela de memória e fazendo a inserção no BD ´no braço´ (via SQL)?

Se não, ou seja, se vc estiver usando:
[b:5236dbf41d]ZConnection -> ZQuery -> DataSetProvider -> ClientDataSet[/b:5236dbf41d]
O problema *pode* estar aí... a Zeos não tem suporte à Midas (Provider), veja os KnowBugs.html :
6. Midas IProviderSupport interface is not completely supported. It may cause problems with TDatasetProvider and TClientDataset. Full support for IProviderSupport interface will be added to version 6.2.

Ainda assim, se vc estiver usando este esquema de ligação, vc precisaria setar o Required = False nos TFields da ZQuery também...

T+


Responder

Gostei + 0

18/04/2005

Bruno Belchior

tive esse mesmo problema, tbm depurava e os campos estavão preenchidos, mas estava usando mestre-detalhe a nível do SQLDataSet que utilizava para extração de dados, resolvi isso utilizando o mestre-detalhe a nível de CDS...


Responder

Gostei + 0

18/04/2005

Otto

eu vou jogando no cds e no final incluo um pro um via sql..

mas, resolvi aqui.. aquele velho esquema.. deleta o cds e bota denovo.. :evil:


Responder

Gostei + 0

03/05/2005

Michaell

tive esse mesmo problema, tbm depurava e os campos estavão preenchidos, mas estava usando mestre-detalhe a nível do SQLDataSet que utilizava para extração de dados, resolvi isso utilizando o mestre-detalhe a nível de CDS...


Colega, tive o mesmo problema que você mas não posso implementar o mestre-detalhe a nível de CDS pois estou utilizando multicamadas... Alguém poderia dar uma outra dica deste BUG?? Cara, decepcionei com o Delphi GERAL agora... Só foi adicionar campos calculados no CDS... Tava funcionando belezinha... e o pior... Já tentei remover todos os fields e NADA! Alguém pode me ajudar? Afinal de contas, não posso migrar pra C# da noite pro dia... Ainda preciso do Delphi...

[]´s


Responder

Gostei + 0

03/05/2005

Michaell

Pessoal,

Só acrescentando... Eu tenho um campo ID na tabela, sendo que no SQLDataSet e no ClientDataSet eu configurei o ProviderFlags apenas dele (que é a chave primária) como pfInKey e os outros Fields estão com ProviderFlags como pfInUpdate e pfInWhere. No DataSetProvider o UpdateMode está como upWhereAll.

[]´s


Responder

Gostei + 0

04/05/2005

Michaell

:( Ninguém pessoal?


Responder

Gostei + 0

04/05/2005

Otto

cara, isso que vc falou nao fiz nada, mas, dei um jeito aqui comigo que pegou na moral, foi isso ó, após abrir a query eu fiz:



  for i:=1 to LQry.FieldCount do
    LQry.Fields.FieldByNumber(i).Required := false;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar