Como cargo un reporte en ASP.NET

NET, no se si este es tu fuerte pero si me puedes ayudar te lo agradeceré, resulta que estoy iniciando con ASP.NET, ya tengo mi pequeña página y ahora en esa página quiero cargar un reporte que hice en crystall, el problema esta en que cuando llamo al reporte desde la página siempre me pide la autentificación a la BD, ahí te paso el código que uso, primero declaro mi conexión, declaro un dataadpter y su dataset, lleno el dataset y le paso ese dataset con sus datos al reporte, pero al cargar el reporte como te decía antes me pide que me autentifique, si lo hago luego me pmuestra los datos en el reporte (viewer)
Cuando diseñe el reporte cree una conexión ado a la BD (sql server 2005) para poder obtener las tablas y así formar dicho esquema del reporte, ahí te paso el código que uso. Me puedes ayudar.
Dim iCon As SqlConnection = New SqlConnection("Data Source=MyServer;Initial Catalog=BDPruebas;Persist Security Info=True;User ID=Usuario1;Password=abc")
Dim dt As SqlDataAdapter = New SqlDataAdapter("select * from mClientes", iCon)
Dim ds As New DataSet
dt.Fill(ds, "wE")
Try
Dim Reporte As New CrystalDecisions.CrystalReports.Engine.ReportDocument
Reporte.Load(Server.MapPath("CrystalReport.rpt"))
Reporte.SetDataSource(ds)
CrystalReportViewer2.ReportSource = Reporte
Catch ex As Exception
MsgBox("error..." + ex.Message)
End Try

1 Respuesta

Respuesta
1
En que evento lo pones
Para que te funcione debe de ir en el init de la página
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: el Diseñador de Web Forms requiere esta llamada de método
'No la modifique con el editor de código.
InitializeComponent()
//con todo esto ago mi consulta
Dim sql As New EjecutadordeSQL("select Nombre + ' ' + ApellidoPaterno + ' ' + ApellidoMaterno, NoEnrolado from Enrolados where Noenrolado in ( " & Session("idenrolado") & ")")
Dim data As DataSet
Dim i As Integer
Dim dts As New Aseguradora
data = sql.datos
While i < data.Tables(0).Rows.Count
Dim dtr As DataRow
Dim j As Integer
Dim sql2 As New EjecutadordeSQL("select * from EN_Aseguradora where NoEnrolado=" & data.Tables(0).Rows(i).Item(1))
Dim tab As DataSet
Try
Dim sql3 As New EjecutadordeSQL("select * from fechaspoliza where idEnrolado= '" & data.Tables(0).Rows(i).Item(1) & "'")
Dim dtsFechas As DataSet
dtsFechas = sql3.datos
dtr = dts.Tables("DatosAseguradora").NewRow
If dtsFechas.Tables.Count > 0 Then
If dtsFechas.Tables(0).Rows.Count > 0 Then
dtr.Item("Nombre") = data.Tables(0).Rows(i).Item(0)
dtr.Item("fechaInicio") = dtsFechas.Tables(0).Rows(0).Item(1)
dtr.Item("FechaFin") = dtsFechas.Tables(0).Rows(0).Item(2)
Else
dtr.Item("Nombre") = data.Tables(0).Rows(i).Item(0)
dtr.Item("fechaInicio") = Today.Now.Year.ToString & "/" & Today.Now.Month.ToString & "/" & Today.Now.Day.ToString
dtr.Item("FechaFin") = Today.Now.AddYears(1).Year & "/" & Today.Now.Month.ToString & "/" & Today.Now.Day.ToString
sql = New EjecutadordeSQL("insert into Fechaspoliza values ('" & data.Tables(0).Rows(i).Item(1) & "','" & Today.Now.Year.ToString & "/" & Today.Now.Month.ToString & "/" & Today.Now.Day.ToString & "','" & Today.Now.AddYears(1).Year & "/" & Today.Now.Month.ToString & "/" & Today.Now.Day.ToString & "')")
sql.FuncionEjcutar()
End If
Else
dtr.Item("Nombre") = data.Tables(0).Rows(i).Item(0)
dtr.Item("fechaInicio") = Today.Now.Year.ToString & "/" & Today.Now.Month.ToString & "/" & Today.Now.Day.ToString
dtr.Item("FechaFin") = Today.Now.AddYears(1).Year & "/" & Today.Now.Month.ToString & "/" & Today.Now.Day.ToString
sql = New EjecutadordeSQL("insert into Fechaspoliza values ('" & data.Tables(0).Rows(i).Item(1) & "','" & Today.Now.Year.ToString & "/" & Today.Now.Month.ToString & "/" & Today.Now.Day.ToString & "','" & Today.Now.AddYears(1).Year & "/" & Today.Now.Month.ToString & "/" & Today.Now.Day.ToString & "')")
sql.FuncionEjcutar()
End If
tab = sql2.datos
Try
dtr.Item("Beneficiario1") = tab.Tables(0).Rows(0).Item(2)
Catch ex As Exception
End Try
Try
dtr.Item("Beneficiario2") = tab.Tables(0).Rows(1).Item(2)
Catch ex As Exception
End Try
Try
dtr.Item("Beneficiario3") = tab.Tables(0).Rows(2).Item(2)
Catch ex As Exception
End Try
Try
dtr.Item("Beneficiario4") = tab.Tables(0).Rows(3).Item(2)
Catch ex As Exception
End Try
Catch ex As Exception
End Try
i = i + 1
dts.Tables("DatosAseguradora").Rows.Add(dtr)
End While
//Termina la Consulta
ahora que ya tengo la tabla se la asigno al cristal
Dim cristal As New FormatoAseguradora  'Nombre del reporte
cristal.SetDataSource(dts)  ' asignas el dataset
Me.CrystalReportViewer1.ReportSource = cristal ' lo enlazas al cristalreportviewr
Me.CrystalReportViewer1.DataBind() ' enlazas la pagina
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas