Guest --Carlos -- Postado Janeiro 9, 2008 Denunciar Share Postado Janeiro 9, 2008 (editado) Bom dia pessoal, estou usando esta quey para uma simples inserção no banco, mas quando executo, ela me retorna o erroinvalid precison value.pois o problema é o ultimo parâmetro (XDT_VENCIMENTO ) pois se retiro ele do script a query é executada com sucesso,se coloco me retorna o erro.with ADOQuery1 do begin sql.Clear; sql.Add(' Insert into TESTE '); sql.Add(' (XCD_INT_VENDA, XCD_INT_PLANO_PAG, XCD_INT_FORMA_REC, XNUMERO_DOCUMENTO, XDT_ENTRADA )'); sql.Add(' values :XCD_INT_VENDA, :XCD_INT_PLANO_PAG, :XCD_INT_FORMA_REC, :XNUMERO_DOCUMENTO, :XDT_VENCIMENTO )'); Parameters.ParamByName('XCD_INT_VENDA').Value := cVendas.qryVendasEdit.fieldByName('XCD_INT_VENDA').AsInteger; Parameters.ParamByName('XCD_INT_PLANO_PAG').Value := qryContasReceberEdit.fieldByName('XCD_INT_PLANO_PAG').AsInteger; Parameters.ParamByName('XCD_INT_FORMA_REC').Value := qryContasReceberEdit.fieldByName('XCD_INT_FORMA_REC').AsInteger; Parameters.ParamByName('XNUMERO_DOCUMENTO').Value := qryContasReceberEdit.fieldByName('XNUMERO_DOCUMENTO').AsInteger; Parameters.ParamByName('XDT_VENCIMENTO').Value := FormatdateTime('yyyy"-"mm"-"dd',StrToDate(edtDtVencimento.Text)); ExecSQL; end;Já tentei de várias formas formatar esta data mas continua o erro, se alguém puder me dar um help.Obrigado desde já pessoal Editado Janeiro 12, 2008 por Micheus Adicionada a tag [CODE]...[/CODE] para melhor visualização do codigo. Por favor, utilize-a. ;-) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Recife Postado Janeiro 9, 2008 Denunciar Share Postado Janeiro 9, 2008 Bom dia pessoal, estou usando esta quey para uma simples inserção no banco, mas quando executo, ela me retorna o erroinvalid precison value.pois o problema é o ultimo parâmetro (XDT_VENCIMENTO ) pois se retiro ele do script a query é executada com sucesso,se coloco me retorna o erro.with ADOQuery1 dobeginsql.Clear;sql.Add(' Insert into TESTE ');sql.Add(' (XCD_INT_VENDA, XCD_INT_PLANO_PAG, XCD_INT_FORMA_REC, XNUMERO_DOCUMENTO, XDT_ENTRADA )');sql.Add(' values :XCD_INT_VENDA, :XCD_INT_PLANO_PAG, :XCD_INT_FORMA_REC, :XNUMERO_DOCUMENTO, :XDT_VENCIMENTO )');Parameters.ParamByName('XCD_INT_VENDA').Value := cVendas.qryVendasEdit.fieldByName('XCD_INT_VENDA').AsInteger;Parameters.ParamByName('XCD_INT_PLANO_PAG').Value := qryContasReceberEdit.fieldByName('XCD_INT_PLANO_PAG').AsInteger;Parameters.ParamByName('XCD_INT_FORMA_REC').Value := qryContasReceberEdit.fieldByName('XCD_INT_FORMA_REC').AsInteger;Parameters.ParamByName('XNUMERO_DOCUMENTO').Value := qryContasReceberEdit.fieldByName('XNUMERO_DOCUMENTO').AsInteger;Parameters.ParamByName('XDT_VENCIMENTO').Value := FormatdateTime('yyyy"-"mm"-"dd',StrToDate(edtDtVencimento.Text));ExecSQL;end;Já tentei de várias formas formatar esta data mas continua o erro, se alguém puder me dar um help.Obrigado desde já pessoalNo trecho do seu codigo:Parameters.ParamByName('XDT_VENCIMENTO').Value := FormatdateTime('yyyy"-"mm"-"dd',StrToDate(edtDtVencimento.Text));Já tentou utilizar:Parameters.ParamByName('XDT_VENCIMENTO').asdatetime := FormatdateTime('yyyy"-"mm"-"dd',StrToDate(edtDtVencimento.Text)); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Janeiro 9, 2008 Denunciar Share Postado Janeiro 9, 2008 Já sim, pois por ser parâmetro ele não aceita passar o tipo do campo, tenho que passar como value.Eu tentei assim e deu certo, mas..with ADOQuery1 dobeginsql.Clear;sql.Add(' Insert into TESTE ');sql.Add(' (XCD_INT_VENDA, XCD_INT_PLANO_PAG, XCD_INT_FORMA_REC, XNUMERO_DOCUMENTO, XDT_VENCIMENTO )');sql.Add(' values :XCD_INT_VENDA, :XCD_INT_PLANO_PAG, :XCD_INT_FORMA_REC, :XNUMERO_DOCUMENTO, ''' + FormatDateTime('yyyy"-"mm"-"dd',StrToDate(edtDtVencimento.Text)) + ''' )');Parameters.ParamByName('XCD_INT_VENDA').Value := cVendas.qryVendasEdit.fieldByName('XCD_INT_VENDA').AsInteger;Parameters.ParamByName('XCD_INT_PLANO_PAG').Value := qryContasReceberEdit.fieldByName('XCD_INT_PLANO_PAG').AsInteger;Parameters.ParamByName('XCD_INT_FORMA_REC').Value := qryContasReceberEdit.fieldByName('XCD_INT_FORMA_REC').AsInteger;Parameters.ParamByName('XNUMERO_DOCUMENTO').Value := qryContasReceberEdit.fieldByName('XNUMERO_DOCUMENTO').AsInteger;//Parameters.ParamByName('XDT_VENCIMENTO').Value := FormatdateTime('yyyy"-"mm"-"dd',StrToDate(edtDtVencimento.Text));ExecSQL;end;ou seja informando direto ele aceitou, eu consigo jogar esta linha ''' + FormatDateTime('yyyy"-"mm"-"dd',StrToDate(edtDtVencimento.Text)) + '''aí em baixo no ultimo parametro onde esta comentado ?obrigado.abs Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Janeiro 12, 2008 Denunciar Share Postado Janeiro 12, 2008 Carlos, se o código está exatamente deste jeito que você postou, então seu problema não deve ser, necessariamente, com a passagem de parâmetros. Observe esta parte do código;sql.Add(' values :XCD_INT_VENDA, :XCD_INT_PLANO_PAG, :XCD_INT_FORMA_REC, :XNUMERO_DOCUMENTO, :XDT_VENCIMENTO )');está faltando o "(" da cláusula VALUES:sql.Add(' values (:XCD_INT_VENDA, :XCD_INT_PLANO_PAG, :XCD_INT_FORMA_REC, :XNUMERO_DOCUMENTO, :XDT_VENCIMENTO )');Quanto a passagem do parâmetro, após a correção deverá funcionar, mas não é necessário a conversão como está anteriormente postado, tente assim:Parameters.ParamByName('XDT_VENCIMENTO').AsDateTime := StrToDate(edtDtVencimento.Text);Lembre-se, é sempre importante postar a mensagem de erro que você recebe - quem está do lado de cá não sabe o que você vê aí. ;)Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest --Carlos --
Bom dia pessoal, estou usando esta quey para uma simples inserção no banco, mas quando executo, ela me retorna o erro
invalid precison value.
pois o problema é o ultimo parâmetro (XDT_VENCIMENTO ) pois se retiro ele do script a query é executada com sucesso,
se coloco me retorna o erro.
Já tentei de várias formas formatar esta data mas continua o erro, se alguém puder me dar um help.
Obrigado desde já pessoal
Editado por MicheusAdicionada a tag [CODE]...[/CODE] para melhor visualização do codigo. Por favor, utilize-a. ;-)
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.