Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

hend.maia

Hora de gravar os dados eles somem

Recommended Posts

Tenho um dbedit, ai vo la e cadastro os dados nele, quando dou salvar ele os dados somem e ele não salva nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como está fazendo para gravar os dados?

Compartilhar este post


Link para o post
Compartilhar em outros sites
procedure TF_CCliente.BtSalvarClick(Sender: TObject);
begin
PageControl2.ActivePage := TabSheet4;
PageControl1.ActivePage := TabSheet1;
Verificabotao(0);
Gravadados;
DM.IBQCliente.Close;
DM.IBQCliente.SQL.Clear;
DM.IBQCliente.SQL.Add('select * from cliente order by cli_nome' );
DM.IBQCliente.Open;
lcodigo.Caption:='000000000';
ldtinclusao.Caption:='00/00/0000';
ldtatualizacao.Caption:='00/00/0000';
end;

 

 

Quer q eu mando a "procedure gravadados" ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ela é quem faz a gravação não é? Então sim, seria bom ver o código.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Procedure TF_CCliente.Gravadados;

Begin

If not(DM.IBTrans.InTransaction) then

DM.IBTrans.StartTransaction;


Try

DM.IBQCliente.close;

DM.IBQCliente.sql.clear;

If Flag_Novo then

Begin

DM.IBQCliente.sql.add('INSERT INTO CLIENTE(COD_CLIENTE, CLI_NOME,'+

' CLI_CONJUGE, CLI_PAI, CLI_MAE, CLI_EMAIL, CLI_CPF, CLI_RG, CLI_SITUACAO,'+

' END_ENDERECO, END_BAIRRO, END_CEP, END_CIDADE, END_UF, END_FONE1,'+

' END_FONE2, COM_EMPRESA, COM_ENDERECO, COM_BAIRRO, COM_CEP, COM_CIDADE,'+

' CLI_TIPO, COM_UF, COM_FONE, COM_CARGO, DAT_INCLUSAO, VLR_SALDO, QTD_CONTRATO, VLR_PAGO,'+

' DAT_NASCIMENTO, CLI_ESTCIVIL, CON_NOME, CON_REGCASAMENTO, CON_PROFISSAO, CON_CPF, CON_RG, CLI_NATURALIDADE)');

DM.IBQCliente.sql.add('VALUES(:PCOD_CLIENTE, :PCLI_NOME,'+

' :PCLI_CONJUGE, :PCLI_PAI, :PCLI_MAE, :PCLI_EMAIL, :PCLI_CPF, :PCLI_RG, :PCLI_SITUACAO,'+

' :PEND_ENDERECO, :PEND_BAIRRO, :PEND_CEP, :PEND_CIDADE, :PEND_UF, :PEND_FONE1,'+

' :PEND_FONE2, :PCOM_EMPRESA, :PCOM_ENDERECO, :PCOM_BAIRRO, :PCOM_CEP, :PCOM_CIDADE,'+

' :PCLI_TIPO, :PCOM_UF, :PCOM_FONE, :PCOM_CARGO, :PDAT_INCLUSAO, :PVLR_SALDO, :PQTD_CONTRATO, :PVLR_PAGO, '+

' :PDAT_NASCIMENTO, :PCLI_ESTCIVIL, :PCON_NOME, :PCON_REGCASAMENTO, :PCON_PROFISSAO, :PCON_CPF, :PCON_RG, :PCLI_NATURALIDADE)');

// DM.IBQCliente.parambyname('pcod_cliente').AsInteger := strtoint(lcodigo.caption);

DM.IBQCliente.parambyname('pdat_inclusao').AsDate :=date;

DM.IBQCliente.parambyname('pvlr_saldo').AsFloat :=0;

DM.IBQCliente.parambyname('pvlr_pago').AsFloat :=0;

DM.IBQCliente.parambyname('pqtd_contrato').AsInteger :=0;

End

Else

Begin

DM.IBQCliente.sql.add('UPDATE CLIENTE');

DM.IBQCliente.sql.add('SET CLI_NOME=:PCLI_NOME, CLI_CONJUGE=:CLI_CONJUGE, ');

DM.IBQCliente.sql.add('CLI_PAI=:PCLI_PAI, CLI_MAE=:PCLI_MAE, CLI_EMAIL=:PCLI_EMAIL, CLI_CPF=:PCLI_CPF, CLI_RG=:PCLI_RG, CLI_SITUACAO=:PCLI_SITUACAO, ');

DM.IBQCliente.sql.add('END_ENDERECO=:PEND_ENDERECO, END_BAIRRO=:PEND_BAIRRO, END_CEP=:PEND_CEP, END_CIDADE=:PEND_CIDADE, ');

DM.IBQCliente.sql.add('END_UF=:PEND_UF, END_FONE1=:PEND_FONE1, END_FONE2=:PEND_FONE2, COM_EMPRESA=:PCOM_EMPRESA, COM_ENDERECO=:PCOM_ENDERECO, ');

DM.IBQCliente.sql.add('COM_BAIRRO=:PCOM_BAIRRO, COM_CEP=:PCOM_CEP, COM_CIDADE=:PCOM_CIDADE, COM_UF=:PCOM_UF, ');

DM.IBQCliente.sql.add('CLI_TIPO=:PCLI_TIPO, COM_FONE=:PCOM_FONE, COM_CARGO=:PCOM_CARGO, ');

DM.IBQCliente.sql.add('DAT_ATUALIZACAO=:PDAT_ATUALIZACAO, DAT_NASCIMENTO=:PDAT_NASCIMENTO, ');

DM.IBQCliente.sql.add('CLI_ESTCIVIL=:PCLI_ESTCIVIL, CON_NOME=:PCON_NOME, CON_REGCASAMENTO=:PCON_REGCASAMENTO, CON_PROFISSAO=:PCON_PROFISSAO, CON_CPF=:PCON_CPF, CON_RG=:PCON_RG, CLI_NATURALIDADE=:PCLI_NATURALIDADE ');

DM.IBQCliente.SQL.Add('WHERE COD_CLIENTE = :PCOD_CLIENTE');

DM.IBQCliente.ParamByName('pcod_cliente').asinteger := StrToInt(lcodigo.Caption );

DM.IBQCliente.parambyname('pdat_atualizacao').AsDate :=date;

End;

DM.IBQCliente.parambyname('pcli_nome').asstring :=enome.text;

DM.IBQCliente.parambyname('pcli_conjuge').asstring :='';

DM.IBQCliente.parambyname('pcli_pai').asstring :=epai.text;

DM.IBQCliente.parambyname('pcli_mae').asstring :=emae.text;

DM.IBQCliente.ParamByName('pcli_email').AsString :=eemail.Text;

// DM.IBQCliente.parambyname('pcli_cpf').asstring :=ecpf.text;

DM.IBQCliente.parambyname('pcli_rg').AsString :=erg.text;

DM.IBQCliente.parambyname('pcli_situacao').AsString :='0';

DM.IBQCliente.parambyname('pend_endereco').AsString :=eend_endereco.Text;

DM.IBQCliente.parambyname('pend_bairro').AsString :=eend_bairro.Text;

DM.IBQCliente.parambyname('pend_cep').AsString :=eend_cep.text;

DM.IBQCliente.parambyname('pend_cidade').AsString :=eend_cidade.text;

DM.IBQCliente.parambyname('pend_uf').AsString :=eend_uf.text;

DM.IBQCliente.parambyname('pend_fone1').AsString :=eend_fone1.text;

DM.IBQCliente.parambyname('pend_fone2').AsString :=eend_fone2.text;

DM.IBQCliente.parambyname('pcom_empresa').AsString :=ecom_empresa.Text;

DM.IBQCliente.parambyname('pcom_endereco').AsString :=ecom_endereco.text;

DM.IBQCliente.parambyname('pcom_bairro').AsString :=ecom_bairro.text;

DM.IBQCliente.parambyname('pcom_cep').AsString :=ecom_cep.text;

DM.IBQCliente.parambyname('pcom_cidade').AsString :=ecom_cidade.text;

DM.IBQCliente.parambyname('pcom_uf').AsString :=ecom_uf.text;

//DM.IBQCliente.ParamByName('pcli_tipo').AsString :=eComboBox.text;

DM.IBQCliente.parambyname('pcom_fone').AsString :=ecom_fone.text;

DM.IBQCliente.parambyname('pcom_cargo').AsString :=ecom_cargo.text;

DM.IBQCliente.parambyname('pcli_naturalidade').AsString :=enaturalidade.text;

if length(trim(edat_nascimento.text))=10 then

DM.IBQCliente.parambyname('pdat_nascimento').AsDate :=strtodate(edat_nascimento.text)

else

DM.IBQCliente.parambyname('pdat_nascimento').Clear;

DM.IBQCliente.parambyname('pcli_estcivil').AsString :=eecivil.Text;

DM.IBQCliente.parambyname('pcon_nome').AsString :=econ_nome.Text;

DM.IBQCliente.parambyname('pcon_regcasamento').AsString :=econ_regcas.Text;

DM.IBQCliente.parambyname('pcon_profissao').AsString :=econ_profissao.Text;

DM.IBQCliente.parambyname('pcon_cpf').AsString :=econ_cpf.Text;

DM.IBQCliente.parambyname('pcon_rg').AsString :=econ_rg.Text;

DM.IBQCliente.Open;


DM.IBQContrato.Close;

DM.IBQContrato.SQL.Clear;

DM.IBQContrato.SQL.Add('update contrato set con_nome='''+enome.text+''' where cod_cliente='+lcodigo.Caption);

DM.IBQContrato.Open;


DM.IBQPrestacao.Close;

DM.IBQPrestacao.SQL.Clear;

DM.IBQPrestacao.SQL.Add('update prestacao set pre_nome='''+enome.text+''' where cod_cliente='+lcodigo.Caption);

DM.IBQPrestacao.Open;


DM.IBQLote.Close;

DM.IBQLote.SQL.Clear;

DM.IBQLote.SQL.Add('update lote set cli_nome='''+enome.text+''' where cod_cliente='+lcodigo.Caption);

DM.IBQLote.Open;


If DM.IBTrans.InTransaction then

DM.IBTrans.CommitRetaining;

Except

If DM.IBTrans.InTransaction then

DM.IBTrans.RollbackRetaining;

Messagedlg('Erro ao Gravar o Cliente', mterror,[mbok],0);

End;

DM.IBQCliente.Close;

DM.IBQCliente.SQL.Clear;

DM.IBQCliente.SQL.Add('select * from cliente' );

// DM.IBQCliente.ExecSQL;

DM.IBQCliente.Open;

End;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brother, não uso o Delphi a alguns anos e não conheço este componente que está usando (Hoje uso apenas o Lazarus). Minha dica é não usar o open para executar comandos que realizam alterações de dados. Use open apenas quando você precisa realizar consultas. Este componente provavelmente tem o método ExecSQL

 

 

 

  DM.IBQContrato.Close;
  DM.IBQContrato.SQL.Clear;
  DM.IBQContrato.SQL.Add('update contrato set con_nome='''+enome.text+''' where cod_cliente='+lcodigo.Caption);
  DM.IBQContrato.Open;
 
  DM.IBQPrestacao.Close;
  DM.IBQPrestacao.SQL.Clear;
  DM.IBQPrestacao.SQL.Add('update prestacao set pre_nome='''+enome.text+''' where cod_cliente='+lcodigo.Caption);
  DM.IBQPrestacao.Open;
 
  DM.IBQLote.Close;
  DM.IBQLote.SQL.Clear;
  DM.IBQLote.SQL.Add('update lote set cli_nome='''+enome.text+''' where cod_cliente='+lcodigo.Caption);
  DM.IBQLote.Open;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.