Insert de Dados DBGrid + DataSet
Bom Dia,
Estou com a seguinte situação: Tenhos 2 campos nome e idade que são informados pelo usuarios. Apos os usuarios digitar esses dados e clicar em inserir essa informacao é adicionada ao dgbrid e apos o usuario inserir todos os nome e idade ele clica em finalizar e so ai o sitema grava essa informação no banco de dados. Me recomendaram a usar um DataSet para fazer isso. Como faço para o DataSet inserir os dados do dbgrid somente quando o usuario clicar em finalizar? Estou usando banco de dados SQL Server.
Obrigado,
Estou com a seguinte situação: Tenhos 2 campos nome e idade que são informados pelo usuarios. Apos os usuarios digitar esses dados e clicar em inserir essa informacao é adicionada ao dgbrid e apos o usuario inserir todos os nome e idade ele clica em finalizar e so ai o sitema grava essa informação no banco de dados. Me recomendaram a usar um DataSet para fazer isso. Como faço para o DataSet inserir os dados do dbgrid somente quando o usuario clicar em finalizar? Estou usando banco de dados SQL Server.
Obrigado,
Deivid Costa
Curtidas 0
Respostas
Joel Rodrigues
22/02/2015
Depende da engine de acesso que você está usando.
Uma das formas é usar um ClientDataSet, que ficaria ligado ao DBGrid recebendo esses dados temporários. Ao finalizar, você faria um loop sobre esse ClientDataSet e iria inserindo cada linha usando um DataSet/Query ligado ao banco (fazer o insert).
Uma das formas é usar um ClientDataSet, que ficaria ligado ao DBGrid recebendo esses dados temporários. Ao finalizar, você faria um loop sobre esse ClientDataSet e iria inserindo cada linha usando um DataSet/Query ligado ao banco (fazer o insert).
GOSTEI 0
Deivid Costa
22/02/2015
Depende da engine de acesso que você está usando.
Uma das formas é usar um ClientDataSet, que ficaria ligado ao DBGrid recebendo esses dados temporários. Ao finalizar, você faria um loop sobre esse ClientDataSet e iria inserindo cada linha usando um DataSet/Query ligado ao banco (fazer o insert).
Uma das formas é usar um ClientDataSet, que ficaria ligado ao DBGrid recebendo esses dados temporários. Ao finalizar, você faria um loop sobre esse ClientDataSet e iria inserindo cada linha usando um DataSet/Query ligado ao banco (fazer o insert).
Bom Dia Joel,
Sou novo em Delphi poderia me mostrar um exemplo de como usar o ClietDataSet para armazenar temporariamente os dados e como eu faria para gravar os dados desse ClienteDataSet no banco?
GOSTEI 0
Joel Rodrigues
22/02/2015
Encontrei esse tutorial aqui que parece ser bem completo e didático: [url:descricao=Tabela temporária com ClientDataSet]http://www.subrotina.com.br/delphi-tabela-temporaria-com-clientdataset-conceito/[/url]. Leia o tutorial completo.
GOSTEI 0
Marisiana Battistella
22/02/2015
Não sei se entendi corretamente a dúvida, mas nesse DBGrid você não vai mostrar o resultado de uma consulta?
Como por exemplo:
Como por exemplo:
select c.código,
c.nomecliente,
c.telefone,
c.endereco
from tab_cliente c
order by c.nomeclienteGOSTEI 0
Deivid Costa
22/02/2015
Não sei se entendi corretamente a dúvida, mas nesse DBGrid você não vai mostrar o resultado de uma consulta?
Como por exemplo:
Como por exemplo:
select c.código,
c.nomecliente,
c.telefone,
c.endereco
from tab_cliente c
order by c.nomeclienteBom Dia Marisiana,
Nao, o DBGrid na verdade vai mostrar os produtos do pedido do cliente para que ele veja os produtos que ele solicitou e posso adicionar mais produtos ou remover os que ja tem. Apos adicionar os produtos do pedido e revisar o cliente clicar em Finalizar e so ai sistema vai gravar o dados do DBGrid no banco de dados.
GOSTEI 0
Deivid Costa
22/02/2015
Bom Dia, Conseguir resolver o problema. Criei um clientdataset que estava ligado ao dbgrid para adicionar os items, depois adicionei outro ClientDataSet para ler os dados do primeiro e gravar os dados no banco de dados.
Obrigado pela ajuda de todos.
Obrigado pela ajuda de todos.
GOSTEI 0
Marisiana Battistella
22/02/2015
Bom dia Deivid!
Que bom que conseguiu resolver!
Obrigada pelo feedback!
Que bom que conseguiu resolver!
Obrigada pelo feedback!
GOSTEI 0