Ajuda - Busca - Membros - Calendário
Versão Completa: Erro Ao Tentar Incluir No Banco De Dados
Fórum Script Brasil > Programação & Desenvolvimento > Delphi, Kylix
Uashington
Ai pessoal, estou precisando de ajuda... Sou meio leigo com delphi
Inseri campos no meu formulário e entre eles edits, e preciso add esse conteudo no Banco de Dados, se eu tivesse criado meu banco, configurado e inserido dbedits seria mais facil, mas já q meus codigos fontes já estao nos eventos onclik e onexit dos edits queria continuar com eles.
O codigo q utilizei para inserir um edit no BD foi o seguinte:
CODE
...
  IBDataSet1.Append;
  IBDataSet1PRODUTOR.AsString := Edit1.Text;
  IBDataSet1.ApplyUpdates;

mas dá o seguinte erro:

Project Project1.exe raised exception class EDatabaseError with message 'IBDataSet1: Cannot perform this operation on a closed dataset'. Process stopped. Use Step or Run to continue.


Bom pessoal desde já agradeço...
Micheus
Uashington, muito provavelmente você não abriu o dataset IBDataSet1 antes de utilizá-lo.

No seu exemplo, você deveria ter chamado o método Open antes do Append:
CODE
...
  IBDataSet1.Open;  // <== ***
  IBDataSet1.Append;
  IBDataSet1PRODUTOR.AsString := Edit1.Text;
// outros campos do dataset a serem inicializados
  IBDataSet1.ApplyUpdates;
// supondo que você sempre vai abrir a tabela apenas para fazer as
// inclusões, então, após concluída feche a mesma.
  IBDataSet1.Close;


e acho que ainda faltará chamar IBDataSet1.Transaction.CommitRetained, pois, se não estou enganado, ApplayUpdates apenas grava as informações em cache para o banco, mas não a "commita".

dê uma olhada nas observações que são feitas neste outro post a respeito de transações/commit/post/cachedupdate

Abraços
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2012 Invision Power Services, Inc.