none
No se puede cargar la informacion de la BD al reporte

    Question

  • Buenas tardes amigos aqui molestandolos una ves mas, he tenido una serie de porblemas que he ido resolviendo, pero con este no mas no puedo, les comento tengo mi sistema en vs 2010 bases de datos con mysql 5. algo mas, uso el conector .net 3.63 de mysql y crsytal reports, el reporte lo mando llamar asi:

    Dim fecha_ini, fecha_fin, strsql As String
        Dim CrReport As New ReportDocument
        Dim data As New DataTable
    
        fecha_ini = Format(dtp1.Value, "yyyy-MM-dd")
        fecha_fin = Format(dtp2.Value, "yyyy-MM-dd")
        strsql = "select * from prospectos where fecha_alta>= '" & fecha_ini & "' And fecha_alta<= '" & fecha_fin & "'"
    
        Dim adapter = New MySqlDataAdapter(strsql, conmysql)
        adapter.Fill(data)
        
        CrReport.Load("D:\reporte2.rpt", OpenReportMethod.OpenReportByDefault)
        CrReport.SetDataSource(data)
    
        FrmReporte.CrystalReportViewer1.ReportSource = CrReport
        FrmReporte.Show(Me)

    en la linea CrReport.SetDataSource(data)  me marca un error que dice "No es posible cargar la información de la base de datos.
    Error en el archivo Informe2 {E69B7840-C2B3-4018-890D-FF1C3C800076}.rpt:
    No se pudo cargar la información de la base de datos." he tenido problemas con esto, por si se les ahce familiar el codigo, pero los he ido resolviendo peor con esto no mas no, si comento esa instruccion, me muestra el reporte, pero toda la tabla y no solo lo que necesito.

     

    saludos..!!

    Wednesday, April 06, 2011 7:24 PM

All replies

  • Veo que el query que realiza la consulta a la base de datos esta mal formulada, Sustituye esta linea

    strsql = "select * from prospectos where fecha_alta>= '" & fecha_ini & "' And fecha_alta<= '" & fecha_fin & "'"
    

    Por esta

    "SELECT * FROM prospectos WHERE (fecha_alta >= " & fecha_ini & " AND fecha_alta <= " & fecha_fin & ")"

     Tambien puede realizarla de esta forma

    "SELECT * FROM prospectos WHERE (fecha_alta BETWEEN " & fecha_ini & " AND " & fecha_fin & ")"

    Angel R. Jimenez G.
    Software Development
    Santo Domingo
    Republica Dominicana
    Wednesday, April 06, 2011 10:56 PM
  • Hola Angel gracias por responder hise lo que me comentas pero pasa lo mismo, dejame comentar que me aparecen 2 advertencias la pirmera dice

    No se pudieron determinar las dependencias de la referencia COM  "AxVLELib". Error al cargar la biblioteca de tipo/DLL.

    y la segunda

    No se pudieron determinar las dependencias de la referencia COM  "VLELib". Error al cargar la biblioteca de tipo/DLL

    Gracias por contestar, saludos..!!

    Wednesday, April 06, 2011 11:19 PM
  • hola

    el tema es que deberias suar parametros para armar la consulta

    algo como esto

     

    Dim strsql As String = "select * from prospectos where fecha_alta >= ?fechaini  And fecha_alta <= ?fechafin"
    Dim cmd As New MySqlCommand(strsql, conmysql)
    cmd.Parameters.AddWithValue("?fechaini", dtp1.Value)
    cmd.Parameters.AddWithValue("?fechafin", dtp2.Value)

    Dim adapter = New MySqlDataAdapter(cmd)
    Dim data As New DataTable
    adapter.Fill(data)

    Dim CrReport As New ReportDocument
    CrReport.Load("D:\reporte2.rpt", OpenReportMethod.OpenReportByDefault)
    CrReport.SetDataSource(data)

    FrmReporte.CrystalReportViewer1.ReportSource = CrReport
    FrmReporte.Show(Me)

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Wednesday, April 06, 2011 11:41 PM
  • Hola leandro gracias por respoder, hise como me comentaste pero me sigue marcando el mismo error aunque use parametros para armar la ocnsulta

    "No es posible cargar la información de la base de datos.
    Error en el archivo reporte2 {73A034F1-D101-4004-AC09-5256D0C97819}.rpt:
    No se pudo cargar la información de la base de datos."

    el problema sigue siendo el datasource del objeto crreporte, en esa linea m,e marca el error

    CRReporte.SetDataSource(data)


    saludos...

     

     

     

    Thursday, April 07, 2011 12:05 AM
  • hola

    veo que indicar el rpt en la linea

    CrReport.Load("D:\reporte2.rpt", OpenReportMethod.OpenReportByDefault)

     

    - no has probado saundo solo

    CrReport.Load("D:\reporte2.rpt")

     

    - segundo el reporte esta en esa ubicacion ?

     

    - si usas Visual Studio porque no creas el reporte integrado al IDE, de esta forma crearias directo la inastancia del mismo

    - estas vinculando el rpt al datset tipado ? lo pregunto porque si diseñas un reporte por fuera del VS puede que no puedas usar dataset como lo estas queriendo hacer

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Thursday, April 07, 2011 12:42 AM
  • Hola leandro buenos dias, se he usado solo

    CrReport.Load("D\reporte2.rpt")

    el reporte si esta en esa ubicacion, como comentas ya he hecho el reporte integrado al IDE, lo madno llamar asi:

        Dim fecha_ini, fecha_fin, strsql As String
        Dim data As New System.Data.DataTable
        Dim rpt As New reporte1
    
        fecha_ini = Format(dtp1.Value, "yyyy-MM-dd")
        fecha_fin = Format(dtp2.Value, "yyyy-MM-dd")
        strsql = "SELECT * FROM prospectos WHERE (fecha_alta BETWEEN " & fecha_ini & " AND " & fecha_fin & ")"
    
        Dim adapter = New MySqlDataAdapter(strsql, conmysql)
        adapter.Fill(data)
    
        rpt.SetDataSource(data)
        FrmReporte.CrystalReportViewer1.ReportSource = rpt
        FrmReporte.Show(Me)

    pero el problema sigue siendo el setdatasource, perdona mi ignoracion a que te refieres con dataset tipados??

    cabe mecionar que uso mysql y el conector net 6.3.6, antes usaba el 6.2.6 pero tenia prblemas por que ese usa el .net framework 2.0 y el vs 2010 usa el framework 4, desde entoces tengo este problema, te coemto tambien que me salen las siguientes advertencias

    Thursday, April 07, 2011 3:13 PM