CASA DECIMAL

MOREIRA 10/05/2017 09:49:27
#473863
Bom dia,
db - firebird

campo tipo decimal

  FormatNumber(Me.txt_PrecoVenda.Text, 2) 


estou informando 7,00 e gravando 70

como faço para transformar para a casa decimal ?


LVFIOROT 10/05/2017 10:04:40
#473865
7.0
GUIMORAES 10/05/2017 10:08:32
#473866
Resposta escolhida
MOREIRA,

Se o pica pau tivesse comunicado a policia isso nunca teria acontecido. Aplicando a mesma lógica, em nosso contexto, se você tivesse usado orientação a objetos, nada disso teria acontecido.

Isto acontece porque você está passando o valor como uma string no se banco de dados, se você fizer um insert assim (Insert into tabela(valor) values ([Ô]1,70[Ô])), considerando que o campo valor está como [ô]Numéric(15,2)[ô] no seu banco de dados, o valor registrado será de 17,00, pois ele [Ô]ignorou[Ô] a vírgula. Se você estivesse utilizando orientação a objetos, e nos seus inserts você estivesse utilizando parâmetros, isto seria resolvido sem problemas.
Exemplo prático: (Pseudo código)

  
Public Class ClsEstoque

Public Property nome as String
Public Property valor as Double

End Class

//No seu insert, como ficaria

Dim sql as String = [Ô]Insert into estoque(nome, valor) values (@nome, @valor)[Ô]

Dim estoque as new ClsEstoque
estoque.nome = [Ô]Pastel de flango[Ô]
estoque.valor = 1.50

Using cmd As New FbCommand(sql, suaConnection)
cmd.Parameters.Add([Ô]@nome[Ô], estoque.nome)
cmd.Parameters.Add([Ô]@valor[Ô], estoque.valor)
cmd.ExecuteNonQuery()
End Using




Tópico encerrado , respostas não são mais permitidas