none
Error: Specified cast is not valid. RRS feed

  • Pregunta

  • Amigos estoy haciendo que lea un xls y actualice una tabla, pero al leer me sale Specified cast is not valid. Aqui el codigo asp.net con vb

     Dim conexion As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\David Ortega\Documents\Visual Studio 2010\Projects\ESPOL_ADM\ESPOL_ADM\Data\prueba.xls; Extended Properties=""Excel 8.0;HDR=YES"""

            Dim conn1 As New System.Data.OleDb.OleDbConnection(conexion)
            conn1.Open()
            Dim cmd1 As New System.Data.OleDb.OleDbCommand("Select * From [alumnos$]", conn1)
            Dim rdr As OleDbDataReader = cmd1.ExecuteReader

            Debug.WriteLine(vbCrLf & "EmployeeData:" & vbCrLf & "=============")
            Do While rdr.Read()

    'aqui se cae el codigo

               Debug.WriteLine(System.String.Format("{0,-10}", (rdr.GetString(0))))
            Loop
            rdr.Close()
            conn1.Close()

    Alguna sugerencia para corregirlo


    David Ortega Mazzini Desarrollador

    lunes, 3 de junio de 2013 20:19

Respuestas

Todas las respuestas

  • hola

    el unico lugar donde veo que podria generarse ese error es al hacer

    rdr.GetString(0)

    es alli dodne notas que falla ? o es en otra linea

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 3 de junio de 2013 20:24
  • correcto ahi se cae.

    David Ortega Mazzini Desarrollador

    lunes, 3 de junio de 2013 20:39
  • System.String.Format("{0,-10}", (rdr.GetString(0))) ???

    Qué tipo de datos recuperas en la columna 0 de la consulta???


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos


    martes, 4 de junio de 2013 12:02
  • Hola Sergio, retorna un numero del 1 al 20

    David Ortega Mazzini Desarrollador

    martes, 4 de junio de 2013 13:16
  • Puedes probar

    System.String.Format("{0,-10}", rdr.GetInt32(0).ToString())


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos


    martes, 4 de junio de 2013 13:19
  • ok, ya probe, el mismo error:

    Debug.WriteLine(System.String.Format("{0,-10}", (rdr.GetInt32(0).ToString())))

    Specified cast is not valid.

    que será, como puedo cambiar la forma de impresion en pantalla?


    David Ortega Mazzini Desarrollador

    martes, 4 de junio de 2013 13:28
  • si no haces el System.String.Format("{0,-10}"... si no que haces te da error?

    Debug.WriteLine( rdr.GetInt32(0).ToString()) o haces Debug.WriteLine( rdr.GetString(0).ToString())


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos


    martes, 4 de junio de 2013 13:31
  • el mismo error, te paso la captura del archivo en excel, por si acaso,

    David Ortega Mazzini Desarrollador

    martes, 4 de junio de 2013 13:38
  • Puedes hacer la siguiente pruebas?

    En vez de hacer un datareader obtienes un DataTable con un dataadapter obtienes datos?? El nombre de la hoja es correcta?


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos


    martes, 4 de junio de 2013 13:45
  • prueba con:

    System.String.Format("{0,-10}", rdr.GetValue(0))

    Auque esto también debería funcionar:

    System.String.Format("{0,-10}", rdr.GetDouble(0))

    martes, 4 de junio de 2013 13:48
  • es compatible con el objeto oledb? lo asigno no mas al datatable? voy a probar,

    David Ortega Mazzini Desarrollador

    martes, 4 de junio de 2013 13:48
  • perfecto Jesus, asi funcionó muchas gracias
    System.String.Format("{0,-10}", rdr.GetValue(0))
    de verdad Gracias un abrazo.

    David Ortega Mazzini Desarrollador

    martes, 4 de junio de 2013 13:52
  • OK!

    getvalue --> Gets the value of the specified column in its native format.

    He aprendida la leccion!


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos


    martes, 4 de junio de 2013 13:57