Clientdataset not in edit or insert mode

Delphi

01/04/2013

Olá pessoal, Estou usando Delphi XE2 + Mysql + DbExpress.
Estou fazendo um insert e quando vou salvar apresenta o erro:

Clientdataset not in edit or insert mode:
Segue os códigos, botão insere, botão grava e botão excluir.

procedure TfrmCadPerfil.btn1Click(Sender: TObject);
begin
dm1.dsclientperfil.Insert;
dm1.dsClientPerfil.Edit;
end;

procedure TfrmCadPerfil.btn2Click(Sender: TObject);
begin
 with dm1 do
 begin

  dsClientPerfilDATACADASTRO.AsDateTime:=Now();
  dsClientPerfil.ApplyUpdates(-1);
  dsClientPerfil.Post;

 end;
end;

procedure TfrmCadPerfil.btn3Click(Sender: TObject);
begin
 with dm1 do
 begin
  dsClientPerfil.Edit;
  dsClientPerfil.Delete;
  dsClientPerfil.ApplyUpdates(-1);
  dsClientPerfil.Post;

 end;
end;

Valdemi Ramos

Valdemi Ramos

Curtidas 0

Respostas

Rafael Cunha

Rafael Cunha

01/04/2013

Se entendi corretamente seu código tenta da seguinte maneira.

procedure TfrmCadPerfil.btn1Click(Sender: TObject);
begin
dm1.dsclientperfil.Insert;
end;

procedure TfrmCadPerfil.btn2Click(Sender: TObject);
begin
with dm1 do
begin

dsClientPerfilDATACADASTRO.AsDateTime:=Now();
dsClientPerfil.Post;
dsClientPerfil.ApplyUpdates(-1);

end;
end;

procedure TfrmCadPerfil.btn3Click(Sender: TObject);
begin
with dm1 do
begin
dsClientPerfil.Delete;
dsClientPerfil.ApplyUpdates(-1);
end;
end;
GOSTEI 0
Daniel Santos

Daniel Santos

01/04/2013

Visivelmente ele não sabe oq esta fazendo, seria melhor explicar antes de colar o codigo funcionando pra ele! ja que ele vai copiar, colar la, agradecer e nem vai ler o pq resolveu o problema.
GOSTEI 0
Valdemi Ramos

Valdemi Ramos

01/04/2013

Resolvido o problema! Tava trocada a linha do post com o applyupdate!
Ogb.

RESOLVIDO
GOSTEI 0
Valdemi Ramos

Valdemi Ramos

01/04/2013

Geralemente eu não uso clientdataset, pois faço os inserts e updates via código SQL mesmo só com as Querys. Por isso me equivoquei na hora de usar o post e o upplyupdate!

Obrigado mais uma vez!

Ao contrario do que falaram ai eu sei o que estou fazendo. Apenas troquei a linha de código por não ter costume de usar.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

01/04/2013

Obrigado pelo retorno.
Vou marcar este tópico como Concluído, para mantermos a organização do fórum.
Abraço a todos.
GOSTEI 0
POSTAR