GARANTIR DESCONTO

Fórum ClientDataSet #354431

26/02/2008

0

Srs.,

estou criando um cadastro de produtos e estou usando o ClientDataSet,
a minha tabela tem os campos ProdutoID e NomeProduto, o campo ProdutoID é AutoInc.

Vamos ao problema que estou tendo, quando digito o nome do produto e mando salvar é criado um registro na tabela é gerado o ID automaticamente e o campo NomeProduto com as informações que digitei no formulário do Delphi só que o ID não aparece no formulário.

Quando utilizo o componente ADOQuery o ID aparece no formulário.

Vocês sabem como resolvo isso usando o ClienteDataSet?

Att,


Luciano.lirio

Luciano.lirio

Responder

Posts

26/02/2008

Marco Salles

não entendi ... Voce digita num formulário e quer visualizar em outo formulário ????


Responder

Gostei + 0

26/02/2008

Luciano.lirio

eu criei a tela de cadatro com o ProdutoID e o NomeProduto, como o campo ProdutoID é AutoInc eu preencho apenas o NomeProduto quando mando salvar o código gerado automaticamente no campo ProdutoID não aparece no formulário isso usando o componente ClientDataSet mas quando troco pelo componente ADOQuery e mando salvar o ID gerado automaticamente na tabela aparece no formulário...

Resumindo, quando estou usando o ClientDataSet no cadastro e as informações são incluidas o ID que é gerado automaticamente na tabela não retorno e quando uso o ADOQuery retorna.

Att,


Responder

Gostei + 0

26/02/2008

Hall 9000

Se é ID é gerado no banco por uma trigger por exemplo e apenas não está aparecendo no form, experimente chamar o método Refresh após o AppyUpadates(0);
assim:
cdsProduto.Refresh;
Espero que tenha ajudado.
falou!


Responder

Gostei + 0

26/02/2008

Marco Salles

eu criei a tela de cadatro com o ProdutoID e o NomeProduto, como o campo ProdutoID é AutoInc eu preencho apenas o NomeProduto quando mando salvar


engraçado , a principio deveria dar erro que o Campo Id Deve ser Preenchido ... Mesmo sabendo que ele é AutoIncremento na Base de Dados

Voce esta dando Um Post ou Um ApplyUpdates ???????


Este campo ID é Requerido ???? pq se deixa-lo em Branco deveria Tb Dar erro

Desculpa , mas antes de dar uma Opinião , gosto de entender o que se passa ....


Responder

Gostei + 0

27/02/2008

Luciano.lirio

Marco Salles, o campo é requerido mas como é autoinc não da erro o problema é que quando salvo o registro o valor gerado automaticamente na base de dados não retorna...


Responder

Gostei + 0

27/02/2008

Luciano.lirio

Hall 9000, estou dando um post e um AppyUpadates(0) mas como estou usando select * from ProdutoID is null quando abro o cadastro para não trazer todos registro o Refresh fas o registro cadastrado sumir...

com o ADOQuery eu não tenho esse problema pq o ID gerado automaticamente pela base de dados é atualizado no form após o Post e não preciso usar o Refresh.


Responder

Gostei + 0

27/02/2008

Paullsoftware

Desculpe a intromissão, mas o que o Marcos está querendo dizer é que: O ClientDataSet trabalha com os dados em Memória, e quando você dá Post depois o Applyupdates(0) ele grava no banco, mais para vc receber o valor do código gerado no banco, você deve disparar o Gerador e pegar esse novo valor na aplicação cliente, os tópicos abaixo podem te orientar um pouco melhor sobre o assunto...
[url=http://forum.devmedia.com.br/viewtopic.php?t=91850]Gravando Campo ID no Detail[/url]
[url=http://forum.devmedia.com.br/viewtopic.php?t=80640]Mestre/Detalhe (era... Senão é bug oq que é então?)[/url]
[url=http://forum.devmedia.com.br/viewtopic.php?t=86459]Problemas de inserção em DbGrid e Firebird[/url]
Espero ter ajudado :wink:


Responder

Gostei + 0

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

Aceitar