Ir para conteúdo

POWERED BY:

Arquivado

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

hend.maia

Porcaria do DBedit não grava

Recommended Posts

Tem um sistema aq q fiz uma mascara no dbedit de acordo com a opção escolhida no combobox, ai quando muda o combobox a mascara do dbedit muda tudo bunitinho, ai agente vai la coloca o cpf bunitinho, e na hora de grava....NADA..fdp


Oque q ta pegando ? vo posta o código do salvar aq e do combobox:


----------------------------------------------------------------

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;


--------------------------------------------


procedure TF_CCliente.eComboBoxChange(Sender: TObject);

begin

if (eComboBox.text = 'Pessoa Física') then

begin

DM.IBQClienteCLI_CPF.EditMask:='000\.000\.000-00;0;'

end;

if (eComboBox.Text = 'Pessoa Jurídica') then

begin

DM.IBQClienteCLI_CPF.EditMask:='00\.000\.000\/0000-00;0;'

end;

end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como está sua procedure GravaDados?

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=:PCLI_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

Pelo que vejo no seu código de gravação, o problema pode ser onde usa este comando....

 

 

  DM.IBQCliente.Open;

 

O Open só deve ser usado em comandos sql de seleção de dados... em inserts/updates/deletes, o comando correto é o ExecSQL. A probabilidade é que seja este o problema. O comando citado só está certo no fim do processo, onde está dando o select... troque nos demais pelo execsql.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você debugou passo a passo pra ver se não está ocorrendo algum erro na execução de alguns destes sqls? Tem certeza que está passando todos os parâmetros? Verificou as sqls geradas para ver se estão corretas?

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.