ClientDataSet
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,
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
Curtidas 0
Respostas
Marco Salles
26/02/2008
não entendi ... Voce digita num formulário e quer visualizar em outo formulário ????
GOSTEI 0
Luciano.lirio
26/02/2008
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,
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,
GOSTEI 0
Hall 9000
26/02/2008
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!
assim:
cdsProduto.Refresh;
Espero que tenha ajudado.
falou!
GOSTEI 0
Marco Salles
26/02/2008
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 ....
GOSTEI 0
Luciano.lirio
26/02/2008
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...
GOSTEI 0
Luciano.lirio
26/02/2008
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.
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.
GOSTEI 0
Paullsoftware
26/02/2008
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:
[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:
GOSTEI 0