DBExpress delphi campo autoincremento
27/11/2005
0
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
Posts
27/11/2005
Vinicius2k
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:
28/11/2005
Pereiramarcos
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
28/11/2005
Vinicius2k
ClientDataSet1.ApplyUpdates(0);
ClientDataSet1.Refresh;
T+
28/11/2005
Pereiramarcos
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;
28/11/2005
Pereiramarcos
Commandtype = cTable
agradeco a ajuda
28/11/2005
Pereiramarcos
muito obrigado, pela forca.
Clique aqui para fazer login e interagir na Comunidade :)