MEU BOTÃO DE EDIÇÃO NÃO FUNCIONA CORRETAMENTE!
08/08/2020
0
Se por exemplo eu salvar um valor de R$ 13,35 e tentar editar esse valor para R$13,65 ele edita somente R$ 13,00.
outro exemplo se eu salvar R$ 20,98 e editar para R$ 30,35 ele arredonda pra R$ 30,00. me ajudem!
procedure TfrmOferta.btnEditarClick(Sender: TObject);
begin
if (cbMes.Text <> '') and (edtValor.Text <> '') then
begin
associarCampos;
dm.tb_ofertas.Edit;
dm.query_ofertas.Close;
dm.query_ofertas.SQL.Clear;
dm.query_ofertas.SQL.Add('update entradas_ofertas set movimento = :movimento, valor = :valor, referente = :referente where id = :id');
dm.query_ofertas.ParamByName('movimento').Value := edtMovimento.Text;
dm.query_ofertas.ParamByName('valor').Value := edtValor.Text;
dm.query_ofertas.ParamByName('referente').Value := cbMes.Text;
dm.query_ofertas.ParamByName('id').Value := edtCodigo.Text;
dm.query_ofertas.ExecSql;
MessageDlg('Editado com Sucesso!!', mtInformation, mbOKCancel, 0);
dm.query_movimentacoes.Close;
dm.query_movimentacoes.SQL.Clear;
dm.query_movimentacoes.SQL.Add('update movimentacoes set valor = :valor, referente = :referente where id_movimento = :id and tipo = "OFERTA"');
dm.query_movimentacoes.ParamByName('valor').Value := edtValor.Text;
dm.query_movimentacoes.ParamByName('referente').Value := cbMes.Text;
dm.query_movimentacoes.ParamByName('id').Value := edtCodigo.Text;
dm.query_movimentacoes.ExecSql;
buscarData;
desabilitarCampos;
btnSalvar.Enabled := false;
btnEditar.Enabled := false;
btnDeletar.Enabled := false;
btnNovo.Enabled := true;
end
else
begin
MessageDlg('Preencha os Campos', mtInformation, mbOKCancel, 0);
end;
end;
Quilson Lira
Posts
08/08/2020
Leandro Carvalho
Se por exemplo eu salvar um valor de R$ 13,35 e tentar editar esse valor para R$13,65 ele edita somente R$ 13,00.
outro exemplo se eu salvar R$ 20,98 e editar para R$ 30,35 ele arredonda pra R$ 30,00. me ajudem!
procedure TfrmOferta.btnEditarClick(Sender: TObject);
begin
if (cbMes.Text <> '') and (edtValor.Text <> '') then
begin
associarCampos;
dm.tb_ofertas.Edit;
dm.query_ofertas.Close;
dm.query_ofertas.SQL.Clear;
dm.query_ofertas.SQL.Add('update entradas_ofertas set movimento = :movimento, valor = :valor, referente = :referente where id = :id');
dm.query_ofertas.ParamByName('movimento').Value := edtMovimento.Text;
dm.query_ofertas.ParamByName('valor').Value := edtValor.Text;
dm.query_ofertas.ParamByName('referente').Value := cbMes.Text;
dm.query_ofertas.ParamByName('id').Value := edtCodigo.Text;
dm.query_ofertas.ExecSql;
MessageDlg('Editado com Sucesso!!', mtInformation, mbOKCancel, 0);
dm.query_movimentacoes.Close;
dm.query_movimentacoes.SQL.Clear;
dm.query_movimentacoes.SQL.Add('update movimentacoes set valor = :valor, referente = :referente where id_movimento = :id and tipo = "OFERTA"');
dm.query_movimentacoes.ParamByName('valor').Value := edtValor.Text;
dm.query_movimentacoes.ParamByName('referente').Value := cbMes.Text;
dm.query_movimentacoes.ParamByName('id').Value := edtCodigo.Text;
dm.query_movimentacoes.ExecSql;
buscarData;
desabilitarCampos;
btnSalvar.Enabled := false;
btnEditar.Enabled := false;
btnDeletar.Enabled := false;
btnNovo.Enabled := true;
end
else
begin
MessageDlg('Preencha os Campos', mtInformation, mbOKCancel, 0);
end;
end;
pega o retorno da query antes do execsql:
declare clipbrd
Clipboard.astext := dm.query_movimentacoes.sql.text;
e cole no sql do seu banco para ver como esta indo.
11/08/2020
Emerson Nascimento
tente assim:
procedure TfrmOferta.btnEditarClick(Sender: TObject); begin if (cbMes.Text <> '') and (edtValor.Text <> '') then begin associarCampos; dm.tb_ofertas.Edit; dm.query_ofertas.Close; dm.query_ofertas.SQL.Clear; dm.query_ofertas.SQL.Add('update entradas_ofertas set movimento = :movimento, valor = :valor, referente = :referente where id = :id'); dm.query_ofertas.ParamByName('movimento').AsString := edtMovimento.Text; // não consegui identificar, deixei como texto dm.query_ofertas.ParamByName('valor').AsFloat := StrToFloat(edtValor.Text); dm.query_ofertas.ParamByName('referente').AsString := cbMes.Text; dm.query_ofertas.ParamByName('id').AsString := edtCodigo.Text; dm.query_ofertas.ExecSql; MessageDlg('Editado com Sucesso!!', mtInformation, mbOKCancel, 0); dm.query_movimentacoes.Close; dm.query_movimentacoes.SQL.Clear; dm.query_movimentacoes.SQL.Add('update movimentacoes set valor = :valor, referente = :referente where id_movimento = :id and tipo = "OFERTA"'); dm.query_movimentacoes.ParamByName('valor').AsFloat := StrToFloat(edtValor.Text); dm.query_movimentacoes.ParamByName('referente').AsString := cbMes.Text; dm.query_movimentacoes.ParamByName('id').AsInteger := StrToInt(edtCodigo.Text); dm.query_movimentacoes.ExecSql; buscarData; desabilitarCampos; btnSalvar.Enabled := false; btnEditar.Enabled := false; btnDeletar.Enabled := false; btnNovo.Enabled := true; end else begin MessageDlg('Preencha os Campos', mtInformation, mbOKCancel, 0); end; end;
Clique aqui para fazer login e interagir na Comunidade :)