Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/05/2013, 05:47
maialenlopez
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años
Puntos: 7
Exclamación Error ORA-01722: invalid number

Hola,

Tengo este error en la aplicación web que estoy haciendo y llevo toda la mañana averiguando de donde puede venir y sigo sin poder arreglarlo. Os explico donde me lanza este error.

En mi aplicación tengo un textbox en el que se puede introducir un importe; en este texbox introduzco 4,14 y guardo el valor utilizado una clase ya que tengo que pasar los datos de un aspx a otro. esa clase se llama DatosG y tiene lo siguiente:
CLASE DatosG:
Código vb:
Ver original
  1. Public Class DatosG
  2.     Public Property importetotal() As Decimal
  3.         Get
  4.             Return m_importetotal
  5.         End Get
  6.         Set(ByVal value As Decimal)
  7.             m_importetotal = value
  8.         End Set
  9.     End Property
  10.     Private m_importetotal As Decimal
  11. End Class

Así es como guardo el importe que introduzco en la variable de la clase
Código vb.net:
Ver original
  1. Dim datoG As New DatosG()
  2. datoG.importetotal = CDec(Me.TextTotGastosCantiVRLG.Text)
  3. Session.Add("datosG", datoG)

Desde otro aspx necesito recoger el valor ese para luego hace un insert y para ello hago lo siguiente:
Código vb.net:
Ver original
  1. Dim importeTotal As Decimal
  2. Dim datoG As DatosG = TryCast(Session("datosG"), DatosG)
  3. importeTotal = datoG.importetotal

De esta forma obtengo el valor de lo que he introducido en la variable "importeTotal". Una vez que obtengo este valor, hago el siguiente insert:

Código vb.net:
Ver original
  1. sql = "insert into sapsr3.zgastos_gen (zimkm2) "
  2. sql = sql + "values(' " & importekm2 & " ')"
  3.  
  4.         Dim comm As New OracleCommand(sql, conn)
  5.  
  6.         Try
  7.  
  8.             Using conn
  9.                 conn.Open()
  10.  
  11.                 mytrans = conn.BeginTransaction()
  12.                 Try
  13.                     With comm
  14.                         .Transaction = mytrans
  15.                         .ExecuteNonQuery()
  16.                         .Dispose()
  17.                     End With
  18.                     mytrans.Commit()
  19.                 Catch ex As OracleException
  20.                     mytrans.Rollback()
  21.                     MsgBox("Error en BD" & Chr(13) & Chr(13) & ex.Message)
  22.                 End Try
  23.             End Using
  24.         Catch ex As Exception
  25.  
  26.             MsgBox("Error en BD" & Chr(13) & Chr(13) & ex.Message)
  27.         Finally
  28.             conn.Close()
  29.             conn.Dispose()
  30.         End Try

Y cuando estoy en ".ExecuteNonQuery()" me lanza error "ORA-01722: invalid number".

No se porque puede ser pero me esta sacando de quicio ya.

alguien me puede ayudar?
__________________
Gracias por todo;

Un saludo