DBExpress delphi campo autoincremento
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............. :(
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
Curtidas 0
Respostas
Vinicius2k
27/11/2005
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:
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:
GOSTEI 0
Pereiramarcos
27/11/2005
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
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
GOSTEI 0
Vinicius2k
27/11/2005
Onde farei isso ´Refresh´ no ClientDataSet.
logo apos o applyupdate.
ClientDataSet1.ApplyUpdates(0);
ClientDataSet1.Refresh;
T+
GOSTEI 0
Pereiramarcos
27/11/2005
[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;
GOSTEI 0
Pereiramarcos
27/11/2005
:? naõ sei se ajuda mas o meu Tsqldataset
Commandtype = cTable
agradeco a ajuda
Commandtype = cTable
agradeco a ajuda
GOSTEI 0
Pereiramarcos
27/11/2005
:idea: CARA EU consegui refiz tudo desde o inicio, e realmente era o problema do required
muito obrigado, pela forca.
muito obrigado, pela forca.
GOSTEI 0