Fórum Field quot;Idquot; must have a value ...? #253227

04/10/2004

0

Estou com problemas na inserção de clientes usando um [b:7219b3e425]sqlquery [/b:7219b3e425]na paleta dbexpress e um [b:7219b3e425]clientdataset [/b:7219b3e425]da paleta dataaccess. Tenho os campos Id (Chave Primária e AutoIncremento), Nome(String) e Endereco(String) e utilizo o método ClientDataSet1.INSERT no botão Novo e ClientDataSet1.Post/ClientDataSet1.applyUpdates(0) no botão Gravar. Acontece que ao Gravar dá a msg de erro ´Field ´ID´ must have a value´. Não sei o que fazer, alguém pode me ajudar, por favor!

Obrigado,
Alexandra.


Aleguerra

Aleguerra

Responder

Posts

04/10/2004

Moliva

Vc não especificou valor para um campo requerido.

Apesar deste campo ser gerado automaticamente no banco, experimente passar uma valor temporário (-1) por exemplo.

Ao gravar no banco este valor será susbtituído pelo valor definitivo.

qq. dúvida escreva

[]s
Moliva


Responder

Gostei + 0

04/10/2004

Osocram

Ale..

O prob esta no autoincremento q deve estar marcado como NotNull ou Required... e o autoincremento so deve ser executado depois do post... e ateh isso o campo ainda esta vazio e enton dah esse erro...

vc pod usar um algo do tipo

function Incrementa:integer; try qry2 := Tquery.Create(self); qry2.DatabaseName := ´SIGC_LOCAL´; With (qry2) Do Begin Sql.Add(´select Max(Id) from Tabela ´); Prepare; Open; if recordCount >0 then result := field[0].asInteger else result := 0; End; //with Finally qry2.free; End;

Talvez o codigo tenha algum erro... pois eu fiz no braco agora... qq duvida manda ae q eu respondo...
Ah... dae vc pod fazer o seu campo ID receber o valor da function no evento BeforeInsert


Responder

Gostei + 0

04/10/2004

Martins

Colega!

Pegue o campo [b:78a8803d4b]ID[/b:78a8803d4b], que é AutoIncremento, e com certeza, Requerid, marque a opção Requerid para false e pronto.

Hasta la vista!

Espero ter ajudado.


Responder

Gostei + 0

04/10/2004

Aleguerra

Obrigado pessoal coloquei o campo ID como Required = false e deu certo
Valeu Martins sua Dica foi show.

Obrigado
Alexandra.


Responder

Gostei + 0

04/10/2004

Martins

Estaremos aqui sempre q precisar, esse é o nosso papel!.

Até a próxima.


Responder

Gostei + 0

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

Aceitar