hend.maia 0 Denunciar post Postado Março 13, 2014 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
Chrnos 30 Denunciar post Postado Março 13, 2014 Como está sua procedure GravaDados? Compartilhar este post Link para o post Compartilhar em outros sites
hend.maia 0 Denunciar post Postado Março 13, 2014 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
Chrnos 30 Denunciar post Postado Março 13, 2014 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
hend.maia 0 Denunciar post Postado Março 13, 2014 Num deu certo não Cronus, num ta gravando do mesmo jeito :upset: Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Março 13, 2014 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