IvanASP 0 Denunciar post Postado Abril 21, 2008 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
Lab Design 0 Denunciar post Postado Abril 22, 2008 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 pontoPara 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
IvanASP 0 Denunciar post Postado Abril 23, 2008 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