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]

Responder a