Ricardo, Vc tem que definir o DataType do campo. Se o campo que foi criado dinâmicamente não tiver um tipo definido, acontece esta "Exception". Defina o campo como ftTimeStamp.
Abraços Marcos Douglas On 1/8/08, Ricardo Cabral <[EMAIL PROTECTED]> wrote: > > Marlon > > Primeiro que agradecer a você e aos outros colegas por tentar ajudar. > > Bem, eu havia pensado na opção2 que você mandou, mas eu queria ver se > tinha um jeito mais simples. Estranha o "null" e o "clear" não funcionarem. > Vou olhar a opção 1 também. Depois falo qual funcionou ! > > > > > > > > > Marlon Tiedt <[EMAIL PROTECTED]> > escreveu: Ricardo como você está fazendo SQL > dinamico, voçê pode ou não colocar o campo no sql. Faça como a opção 2. > A opção 1, é criar os parametros em tempo de execução. para isto faça > assim: > > Declare variveis do tipo TParam e crie ele assim: > > _rparData1 := TParam.Create(dmpromo.SQLCpromo.Params, ptInput); > _rparData1.Name := 'P_Data1'; > _rparData2 := TParam.Create(dmpromo.SQLCpromo.Params, ptInput); > _rparData2.Name := 'P_Data2'; > > []s, > > Marlon > > Opção 2 > > transacao.TransactionID :=1; > transacao.IsolationLevel:=xilReadCommitted; > dmpromo.SQLCpromo.StartTransaction(transacao); > with dmpromo.SQLDataSet_promo do > begin // with > Close; > CommandType:=ctQuery; > CommandText:='Insert into clientes '+ > '(idcliente,fantasia, razao,cnpj_cpf,rg_ie,tipo_cliente,tipo_logradouro, > '+ > 'endereco, numero, complemento, cep, bairro, cidade, uf, telefone, '+ > 'celular, fax, email, nome_socio,dtnascimento_socio ,cpf_socio, > rg_socio,'+ > 'nome_socio2,dtnascimento_socio2,cpf_socio2, rg_socio2,'; > // alterei aqui > if ffuncoes.validadata(MaskEdit_dtnasccliente.Text) then > CommandText := CommandText + ' data_nascimento, '; > CommandText := CommandText + > ' login, data_cpu, contato,contratosocial_entregue,'+ > 'cnpj_entregue,idramo,observacao,idvendedor,site,'+ > > 'nome_comprador1,nascimento_comprador1,cargo_comprador1,email_comprador1,'+ > > 'nome_comprador2,nascimento_comprador2,cargo_comprador2,email_comprador2,'+ > 'data_cadastro,situacao_cliente, credito) '+ > 'values (:xidcli,:xfanta, :xrazao, :xcnpj, :xrgie, :xtipocli, :xtipolog, > '+ > ':xend, :xnum, :xcompl, :xcep, :xbairro, :xcidade, :xuf, :xtel,'+ > ':xcel, :xfax, :xemail, :xnmsocio1,:xdtsocio1 ,:xcpfsocio1, :xrgsocio1,'+ > ':xnmsocio2,:xdtsocio2,:xcpfsocio2,:xrgsocio2,'+ > // alterei aqui tb > if ffuncoes.validadata(MaskEdit_dtnasccliente.Text) then > CommandText := CommandText + ':xdtnasc, '; > CommandText := CommandText + ':xlogin,:xdtcpu, > :xcontact,:xcontrato,:xcnpjentreg,:xidramo,:xobs,:xidvend,:xsite,'+ > ':xnmcompra1,:xnasccompra1,:xcargo1,:xemailcomprador1,'+ > ':xnmcompra2,:xnasccompra2,:xcargo2,:xemailcomprador2,'+ > ':xdtcad,:xsitcli,:xcred '+ > ')'; > > ParamByName('xidcli').AsInteger :=idcli; > ParamByName('xfanta').AsString :=Edit_fantasia.Text; > ParamByName('xrazao').AsString :=Edit_nomecliente.Text; > ParamByName('xcnpj').AsString :=ffuncoes.numeros(xcpf_cnpj); > Parambyname('xrgie').AsString :=Edit_rg_ie.Text; > ParamByName('xtipocli').AsString:=tipocli; > ParamByName('xtipolog').AsString:=CbBox_lograd.Text; > > ParamByName('xend').AsString:=Edit_endereco.Text; > ParamByName('xnum').AsString:=Edit_numero.Text; > ParamByName('xcompl').AsString:=Edit_compl.Text; > ParamByName('xcep').AsString:=Edit_cep.Text; > ParamByName('xbairro').AsString:=Edit_bairro.Text; > ParamByName('xcidade').AsString:=edit_cidade.Text; > ParamByName('xuf').AsString:=ComboBox_uf.Text; > ParamByName('xtel').AsString:=Memo_tels.Text;// Edit_tels.Text; > > ParamByName('xcel').AsString:=ed_cel.Text; > ParamByName('xfax').AsString:=Edit_fax.Text; > ParamByName('xemail').AsString:=Edit_email.Text; > > ParamByName('xcpfsocio1').AsString:=ffuncoes.numeros(ed_cpfsocio.Text); > ParamByName('xrgsocio1').AsString:=ed_rgsocio.Text; > > ParamByName('xcpfsocio2').AsString:=ffuncoes.numeros(ed_cpfsocio2.Text); > ParamByName('xrgsocio2').AsString:=ed_rgsocio2.Text; > > //if not ffuncoes.validadata(MaskEdit_dtnasccliente.Text) then > //ParamByName( 'xdtnasc' ).Clear > //else ParamByName('xdtnasc').AsDate:= > strtodate(MaskEdit_dtnasccliente.text); > // aqui tb > if ffuncoes.validadata(MaskEdit_dtnasccliente.Text) then > ParamByName('xdtnasc').AsDate:= > strtodate(MaskEdit_dtnasccliente.text); > ParamByName('xlogin').AsString:=login_user; > ParamByName('xdtcpu').AsDate:=date; > ParamByName('xcontact').AsString:=ed_contato.Text; > > if ChkBox_contrato.Checked then ParamByName('xcontrato').AsString:='1' > else > ParamByName('xcontrato').AsString:='0'; > if ChkBox_cnpj.Checked then ParamByName('xcnpjentreg').AsString:='1' else > ParamByName('xcnpjentreg').AsString:='0'; > if ffuncoes.ValidaInt(edit_ramo.Text) then > Parambyname('xidramo').AsInteger:=Strtoint(edit_ramo.Text) > else Parambyname('xidramo').AsInteger:=0; > > ParamByName('xobs').AsString:=memo_obs.Text; // edit_obs.Text; > > if ffuncoes.ValidaInt(ed_numvend.Text) then > ParamByName('xidvend').AsInteger:=strtoint(ed_numvend.Text) > else ParamByName('xidvend').AsInteger:=0; > > ParamByName('xsite').AsString:=ed_site.Text; > > if novocli then > ParamByName('xdtcad').AsDate:=Now; > > end; // with > > dmpromo.SQLDataSet_promo.ExecSQL; > dmpromo.SQLCpromo.Commit(transacao); > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > Abraços, > > Ricardo Cabral > > --------------------------------- > Abra sua conta no Yahoo! Mail, o único sem limite de espaço para > armazenamento! > > [As partes desta mensagem que não continham texto foram removidas] > > > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > Links do Yahoo! Grupos > > > [As partes desta mensagem que não continham texto foram removidas]