Oi Wesller, > ola, estou migrando um sistema dem firebird para postgre, utilizo conexao > via ado + clientdataset, mas não consigo > gravar informações em campo > numeric, segue minha rotina de importacao: (...) cds_servico.FieldByName('SE_COMISSAO').AsFloat := T; cds_servico.FieldByName('SE_TMPGARANT').AsInteger := q_servico.FieldByName('SE_TMPGARANT').AsInteger; cds_servico.FieldByName('SE_STATUS').AsString := q_servico.FieldByName('SE_STATUS').AsString; t := q_servico.FieldByName('SE_VALOR').AsFloat; cds_servico.FieldByName('SE_VALOR').AsFloat := t; (...) > porem da o erro: raised exception class EOleException with message "ERROR: > column "se_comissao" is of type > numeric but expression is of type money. > Como posso solucionar este problema, visto que tanto no firebird como no > postgree o campo foi criado > como numeric (9,2) ?
Minhas sugestões: 1. Tente atribuir o valor com AsBCD cds_servico.FieldByName('SE_VALOR').AsBCD := t; 2a. Crie comandos separados para inserções e alterações, e aí transcreva os valores para os novos objetos e dê um ExecSQL. 2b. Crie comandos separados para inserções e alterações, e aí transcreva os parâmetros numéricos como STRING. Isso te obrigará a fazer um CAST no comando SQL, algo como UPDATE X SET SE_VALOR = CAST( :xxx as numeric ) 3. Altere algum parâmetro de configuração na tua conexão. Está usando ADO com o quê? Driver ODBC? Outro driver? Qual versão? Qual a tua string de conexão? Atenciosamente, Mozart Hasse _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral