DBExpress delphi campo autoincremento

27/11/2005

0

ola a todos

estou iniciando no delphi, e fazendo um pequeno cadastro com delphi/firebird.

tenho uma tabela cliente com um campo autoncremento. ja criado e funcionando pelo firebird.

so que quando mando gravar, no delphi da o seguinte erro

edatabaseerror with message ´field´ ´codigo´ must have a value , estou usabdo DBexpress, clientedataset, dartasetprovider etc....

HELPPPPPP!!!!!!!!!!!!!!!!!!!!!!!!! pelo amor de Deus estou desde sabado ate hoje............. :(


Pereiramarcos

Pereiramarcos

Responder

Posts

27/11/2005

Vinicius2k

Colega,

Configure a propriedade ´Required´ do TField ´Codigo´ para ´False´, no TSQLDataSet (ou TSQLQuery) e no TClientDataSet.

Como, provavelmente, o auto-incremento está sendo disparado por uma trigger, você precisará dar um ´Refresh´ no ClientDataSet para visualizar o valor que foi atribuído ao campo.

PS: Expressões apelativas são contra as [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]Regras de Conduta do Fórum[/url]. Como você é um membro recente da comunidade, peço que leia-as a fim de evitar problemas. :wink:


Responder

28/11/2005

Pereiramarcos

Peco desculpas pelo termo apelativo. Não mas se repetirá.

obrigado pela resposta farei o teste.

ja havia feito isso TField ´Codigo´ para ´False´
TSQLDataSet --->
(ou TSQLQuery) _ --> eu sei que e um ou outro, mas isso eu nao sabia

e no TClientDataSet. ´aqui eu ja havia feito´

esta sim sendo disparado por uma trigger.

Onde farei isso ´Refresh´ no ClientDataSet.
logo apos o applyupdate.


obrigado Vinicius2K


Responder

28/11/2005

Vinicius2k

Onde farei isso ´Refresh´ no ClientDataSet. logo apos o applyupdate.


ClientDataSet1.ApplyUpdates(0);
ClientDataSet1.Refresh;

T+


Responder

28/11/2005

Pereiramarcos

[quote:2a471924fc=´PereiraMarcos´]Onde farei isso ´Refresh´ no ClientDataSet. logo apos o applyupdate.


ClientDataSet1.ApplyUpdates(0);
ClientDataSet1.Refresh;

T+[/quote:2a471924fc]


o erro continua o codigo ja esta como false no required do sql e do dataset.

->linha do erro DtMt.CDtSet.ApplyUpdates(0);
DtMt.CDtSet.Refresh;


Responder

28/11/2005

Pereiramarcos

:? naõ sei se ajuda mas o meu Tsqldataset
Commandtype = cTable

agradeco a ajuda


Responder

28/11/2005

Pereiramarcos

:idea: CARA EU consegui refiz tudo desde o inicio, e realmente era o problema do required

muito obrigado, pela forca.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar