Foros del Web » Programación para mayores de 30 ;) » .NET »

Error al pasar datos de xml a tabla en access

Estas en el tema de Error al pasar datos de xml a tabla en access en el foro de .NET en Foros del Web. saludos, hice una aplicacion que lee un archivo xml nodo a nodo para ir insertando sus datos en una tabla en access, este es mi ...
  #1 (permalink)  
Antiguo 08/02/2007, 12:23
 
Fecha de Ingreso: enero-2007
Mensajes: 80
Antigüedad: 17 años, 4 meses
Puntos: 0
Pregunta Error al pasar datos de xml a tabla en access

saludos, hice una aplicacion que lee un archivo xml nodo a nodo para ir insertando sus datos en una tabla en access, este es mi codigo:

Dim mstrRutaOrigen As String = Path.GetFullPath(FileUpload1.PostedFile.FileName.T oString)
Dim documento As New XmlDocument
Dim nodo As XmlNode
Dim codigo As Integer
Dim valor1 As Decimal
Dim valor2 As Decimal
Dim valor3 As Decimal
Dim valor4 As Decimal

documento.Load(mstrRutaOrigen)
For Each nodo In documento.DocumentElement.ChildNodes
If nodo.Name = "DEUDA" Then
codigo = nodo.ChildNodes(0).InnerText
valor1 = nodo.ChildNodes(1).InnerText
valor2 = nodo.ChildNodes(2).InnerText
valor3 = nodo.ChildNodes(3).InnerText
valor4 = nodo.ChildNodes(3).InnerText

If verifica_usuario_existe(codigo) = True Then
insertar_datos(codigo, valor1, valor2, valor3, valor4)
End If



y este es el procedimiento para insertar los datos en la tabla:

Private Sub insertar_datos(ByVal codigo As Integer, ByVal valor1 As Decimal, ByVal valor2 As Decimal, ByVal valor3 As Decimal, ByVal valor4 As Decimal)
With cmd
.Connection = cn
.CommandType = CommandType.Text
.CommandText = "INSERT INTO DEUDA ([usuario_id], [valor1], [valor2], [valor3], [valor4]) VALUES (" & codigo & ", " & valor1 & ", " & valor2 & ", " & valor3 & ", " & valor4 & ")"
.ExecuteNonQuery()
Me.Label1.Text = "¡Registros actualizados con éxito!"
End With
End Sub

eso es todo pero el problema es que valor1 por ej en el xml esta 132.25 y cuando reviso en la tabla se ha guardado 13225 todo junto no diferencia los decimales y no se porque si los valores en la tabla estan tipo number decimal (2).

cual sera el problema?
  #2 (permalink)  
Antiguo 09/02/2007, 04:48
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Error al pasar datos de xml a tabla en access

Prueba a pasar 132,25. Será por el formato que tienes de separación de decimales:

http://www.microsoft.com/spanish/msd...ces/art116.asp

Saludos
  #3 (permalink)  
Antiguo 09/02/2007, 08:54
 
Fecha de Ingreso: enero-2007
Mensajes: 80
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Error al pasar datos de xml a tabla en access

gracias por contestar, estoy de aucerdo con usted en que ese es el problema pero no se como resolverlo, he leido todo la pagina que explica ese problema y he intentado implementar ese codigo pero me salen errores al momento de implementarlo son como errores de sintaxis.

Amigo yo coloque mi codigo ahi si usted le puede añadir algo que lo corriga le estaria muy agradecida ya que de esto depende mi trabajo.


gracias!
  #4 (permalink)  
Antiguo 12/02/2007, 06:54
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: Error al pasar datos de xml a tabla en access

Si lo que quieres es que te dé una solución rápida, deberías pasar en vez de decimales, tipos stringy hacer un replace del "." por la ",", luego en la cadena hazlo con parametros. Saludos
  #5 (permalink)  
Antiguo 13/02/2007, 08:56
 
Fecha de Ingreso: enero-2007
Mensajes: 80
Antigüedad: 17 años, 4 meses
Puntos: 0
Pregunta Re: Error al pasar datos de xml a tabla en access

saludos gracias por contestar, eso hice y funciona, porque lo corro con los breakpoints y me puedo dar cuenta que los valores ahora son 132.54 por ejemplo pero ahora me sale este error:

Server Error in '/xyz' Application.
--------------------------------------------------------------------------------

The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. Change the data in the field or fields that contain duplicate data, remove the index, or redefine the index to permit duplicate entries and try again.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. Change the data in the field or fields that contain duplicate data, remove the index, or redefine the index to permit duplicate entries and try again.

Source Error:


Line 80: .Parameters.Add("@val2", OleDbType.VarChar).Value = val2bod_num
Line 81: .Parameters.Add("@val3", OleDbType.Double).Value = val3bod_dim
Line 82: .ExecuteNonQuery()
Line 83: End With

Y no se porque me sale ese problema si antes no me salia, ademas que campos permiten claves duplicadas no deberia salir eso!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:00.