Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

IvanASP

[Resolvido] Converter VARCHAR para MONEY

Recommended Posts

Ao Quintelab e colegas do Forum:

 

Aplicação em Vb.NET está dando um erro na hora da gravação no banco SQL. Agradeço mais uma vez sua orientação.

A aplicação lê um campo de uma planilha Excel e tenta gravar no banco. O conteúdo deste campo é um valor em Real (exemplo: 1.234,56). Tudo indica que quando leio este campo da planilha ele vem como VARCHAR e no banco este campo está como MONEY. Daí acontece o erro e a mensagem diz para usar uma função de conversão. Mas, qual função? Se você puder me dar uma dica, muito agradeço.

 

A mensagem original é esta:

 

“Disallowed implicit conversion from data type varchar to data type money, table 'megad5.megad5.MegasenaResultados', column 'TestarValor'. Use the CONVERT function to run this query.”

 

Grato.

Ivan Albuquerque

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom eu nao programo em VB so em C# mas no meu tempo de asp eu fazia assim:

preco="1.123,35"
preco = replace(preco, ".","") ' retira o ponto da formatacao
preco = replace(preco, ",",".") ' troca a virgula por ponto
Para inserção na DB o separador decimal nao pode ser virgula mas ponto.

 

Se nao funcionar tente:

preco="1.123,35"
preco = replace(preco, ".","") ' retira o ponto da formatacao
preco = Cdbl(preco)
preco = replace(preco, ",",".") ' troca a virgula por ponto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezado Lab Design:

 

Grato por sua resposta.

 

Como não consegui gravar o tipo de dado money, passei a gravar como text.

Quando o campo é lido, e aproveitando sua resposta, chamo uma funcao que transforma o texto lido no banco (que na verdade

é um valor monetário, em Real) e transforma para nossa conhecida forma de R$ 1.234,56

Tudo resolvido.

Grato

Ivan Albuquerque

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.