Gravação de registro

Delphi

01/07/2010

Turma, utilizo delphi 2007 + mysql 5.0. Estou com problemas para gravar "atualizações no registro". Tenho um botão "editar" que faz um edit na tabela. Após as devidas alterações tenho o botão "gravar" que possui o código que segue abaixo. Algumas alterações não consigo efetivá-las, apesar de parecer que tudo funcionou bem.   Segue o código do botão gravar:   procedure TformCadProdutos.BtnGravarClick(Sender: TObject);
var
  intCodigoProduto: integer;
begin
  inherited;
    if myDataModule.TbProdutos.state in [dsedit,dsinsert] then
    begin
      try
        if chrModo = 'I' then
        begin
          myDataModule2.TbControle.Edit;
          myDataModule2.TbControleCodigo_interno.AsInteger :=
                myDataModule2.TbControleCodigo_interno.AsInteger + 1;
          myDataModule2.TbControle.post;
          myDataModule2.TbControle.ApplyUpdates(-1);
          intCodigoProduto := myDataModule2.TbControleCodigo_interno.AsInteger;
          myDataModule.TbProdutoscodigointerno.AsInteger := intCodigoProduto;
        end;
          myDataModule.TbProdutos.Post;
          myDataModule.TbProdutos.ApplyUpdates(-1);
          Mensagem('Alterações serão gravadas...');
          chrModo := ' ';
          MsgStatus('Dados gravados com sucesso...');
      except
          Mensagem('Não foi possível efetuar a gravação dos dados!');
      end;
    end
    else
      Mensagem('Não há alterações a serem gravadas !');     bloquearcampos(true);
    Movefoco;
end;
Luciano Avance

Luciano Avance

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

01/07/2010

você está manipulando 3 datasets na sua rotina...

se você estiver utilizando dbExpress, implemente o evento OnReconcileError para que exiba a msg de erro na tela.
Basta a linha:
ShowMessage(E.Message);


GOSTEI 0
Luciano Avance

Luciano Avance

01/07/2010

Retornou a mensagem "Record not found or changed by another user" "REGISTRO NÃO ENCONTRADO OU ALTERADO POR OUTRO USUÁRIO".   Então ???
GOSTEI 0
Marco Salles

Marco Salles

01/07/2010

Retornou a mensagem "Record not found or changed by another user" "REGISTRO NÃO ENCONTRADO OU ALTERADO POR OUTRO USUÁRIO".   Então ???
como vc definiu os Providres Flags de sueu DataSet   e tb como Vc Definu o UpdataMode do Seu TDataSetProvider   Esta me perecendo erro nessas configuraçoes
GOSTEI 0
Luciano Avance

Luciano Avance

01/07/2010

Utilizo SimpleDataSet   Campos chaves:   pfInUpdate: True   pfInWhere: True   pfInKey: True   pfHidden: False   Demais Campos:   pfInUpdate: True   pfInWhere: False   pfInKey: False   pfHidden: False
GOSTEI 0
Marco Salles

Marco Salles

01/07/2010

Aparentemente está correto   E como esta definido o Seu DataSetProvider (UpdateMode ) ???    
GOSTEI 0
Luciano Avance

Luciano Avance

01/07/2010

Está como retornado acima. Retirei a informação do SDS.
GOSTEI 0
POSTAR