Ir para conteúdo

POWERED BY:

Arquivado

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

pedrovisk

Inserir valores com formato 3.456,09

Recommended Posts

Galera,

 

Qual é a melhor forma de se inserir um valores, com o formato 3.456,09 no banco de dados MSSQL?

 

Já que no momento da inclusão, gera a seguinte mensagem de erro:

 

Tipo de erro:

Microsoft OLE DB Provider for SQL Server (0x80040E14)

Line 1: Incorrect syntax near ',09'.

 

Meu campo no BD está como INT

Compartilhar este post


Link para o post
Compartilhar em outros sites

exatamente, você está tentando inserir um valor de monetario em um campo tipo inteiro, altere o campo do db para money

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu alterei, mas agora ele exibe assim 345.609,00, já que estou usando a função

txtVlTotalComissao	= Replace(txtVlTotalComissao,".","")txtVlTotalComissao	= Replace(txtVlTotalComissao,",","")FormatNumber(rs("VlTotalComissao"),2)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu alterei, mas agora ele exibe assim 345.609,00, já que estou usando a função

 

txtVlTotalComissao	= Replace(txtVlTotalComissao,".","")txtVlTotalComissao	= Replace(txtVlTotalComissao,",","")FormatNumber(rs("VlTotalComissao"),2)

 

Se for utilizar no MS SQL utilize:

txtVlTotalComissao	= Replace(txtVlTotalComissao,".","")txtVlTotalComissao	= Replace(txtVlTotalComissao,",",".")FormatNumber(rs("VlTotalComissao"),2)
Troque a , por .

 

E o tipo de campo deverá ser decimal ou nuemric com a qtde de decimais desejadas.

 

Isso no MS SQL se fro no access então deixa a , com serparado de decimal msm.

 

t+

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jothaz,

 

Fiz conforme você passou acima, mas continua não dando ceto. Veja como estão os dados:

 

Número que quero inserior 2.345,45 (esse número eu ocnsegui com uma máscara JS)

 

Como está hoje:

 

No BD em formato DECIMAL: 234045

 

Meu ASP

 

txtVTotal = Replace(txtVTotal,".","")txtVTotal		   = Replace(txtVTotal,",",".")txtVTotal		   = CDBL(txtVTotal)
Para exibi o HTML

 

<%=FormatNumber(rs("VlPagarFornecedor"),2)%>
E mesmo assim continua exibindo como 234.045,00

 

O formato de dados do meu BD SQL 2000 está para o formato Brasileiro, tem alguma coisa haver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jothaz,

 

Fiz conforme você passou acima, mas continua não dando ceto. Veja como estão os dados:

 

Número que quero inserior 2.345,45 (esse número eu ocnsegui com uma máscara JS)

 

Como está hoje:

 

No BD em formato DECIMAL: 234045

 

Meu ASP

 

txtVTotal = Replace(txtVTotal,".","")txtVTotal		   = Replace(txtVTotal,",",".")txtVTotal		   = CDBL(txtVTotal)
Para exibi o HTML

 

<%=FormatNumber(rs("VlPagarFornecedor"),2)%>
E mesmo assim continua exibindo como 234.045,00

 

O formato de dados do meu BD SQL 2000 está para o formato Brasileiro, tem alguma coisa haver?

Retire esta linha:

txtVTotal		   = CDBL(txtVTotal)
Pode retirá-la toda pois você não precisa de converter para gravar. Acho que ai é que esta desbeiçando.

 

Q q você deve fazer é retirar o "." e trocar o a "," por "."

 

 

Acho que resolverá seus problemas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja se ajuda, utilize essa função para exibir o resultado

<%function formatarMoeda(byVal inteiro) dim valor dim valor1 dim valor3 valor=inteiro IF Len(Valor) = 1 THEN  Valor1 = 0 & ",0" & Valor ELSEIF Len(Valor) = 2 THEN  Valor1 = 0 & "," & Valor ELSE  Valor1 = Left(Valor,Len(Valor)-2) & "," & Right(Valor, 2) END IF Valor3 = (Valor1) formatarMoeda=replace(formatcurrency(Valor3),"R$","")end function%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado jonathandj !Deu certo.

beleza funcionou tá de bom tamanho.t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

jonathandj,

 

Fui inserir na página que deveria ficar definitivamente, mas fica gerando essa mensagem:

 

Tipo de erro:

Erro de compilação do Microsoft VBScript (0x800A03EA)

Erro de sintaxe

/sisconti/Incluide/Funcoes_Email_Responde_PContas.asp, line 8

function formatarMoeda(byVal inteiro)

 

A linha 8 é justamente a primeira linha da função. o que houve?

Os dados da tabela estão como INT. Será isso?

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.