none
SQL CE, tipo de dados Money ou Real RRS feed

  • Pergunta

  • Ola a todos.

      Me deparei com uma coisa meio estranha.

     

    Estou utilizando o SQL CE, CF 2 e VS2005

    Criei um banco e nesse banco uma tabela, nessa tabela tenho o campo que irá armazenar valores com até duas casas decimais,

     

    Ai especifiquei que esse campo sera do tipo money.

    Obs.: Testei com o tipo Real tbm.

     

    Quando eu dou um insert:

     

     "INSERT INTO Tabela (Campo) VALUES ("& str(txtValor.text) &")"

     

    Reparem que utilizo o str(), para convertor o valor para string com isso substitui a virgula "," por ponto "."

     

    Obs.: Testei ja gravar sem o Str e no textbox ja deixar como o valor por exemplo 1.35 e tbm ocorre o  problema.

     

    O registro é gravado no banco de dados sem problemas.

     

      Mais agora vem a estranheza, quando vou consultar o registro no banco, o registro esta armazenado como se fosse inteiro, ou seja um valor de 1,35 é gravado como 135.
     

    O que esta errado ?

     

    Agradeço a ajuda de voces.

     

    Obrigado !

     

    quarta-feira, 4 de julho de 2007 13:05

Respostas

  • Olá Fabiano,

     

    O tipo do campo no BD tem q ser money. Converta seu txtValor.text para double e depois faça o str. Veja um exemplo.

     

    Public Sub Gravar(ByVal parCodigo As String, ByVal parDescricao As String, ByVal parValor As Double, _

    ByVal parQtde As Integer, ByVal parIPI As Int16, ByVal parSituacao As Int16)

    Dim sql As New StringBuilder

    If Incluir = True Then

    With sql

    .Append("INSERT INTO PRODUTOS ")

    .Append("(ProdutoID, Descricao, Valor, Qtde, IPI, Situacao, EmpresaID) ")

    .Append("VALUES ('" + parCodigo + "', '" + parDescricao + "'," + Str(parValor) + "," + parQtde.ToString + ", ")

    .Append("" + parIPI.ToString + ", " + parSituacao.ToString + ", ")

    .Append("'" + Cadastros.clsEmpresas.EmpresaPadrao + "')")

    End With

    Else

    With sql

    .Append("UPDATE PRODUTOS SET ")

    .Append("Descricao = '" + parDescricao + "', Valor = " + Str(parValor) + ", ")

    .Append("Qtde = " + parQtde.ToString + ", IPI = " + parIPI.ToString + ", ")

    .Append("Situacao = " + parSituacao.ToString + " ")

    .Append("Where ProdutoID = '" + parCodigo + "' ")

    .Append("And EmpresaID = '" + Cadastros.clsEmpresas.EmpresaPadrao + "'")

    End With

     

    End Sub

    quarta-feira, 4 de julho de 2007 14:00