por favor si alguien a usado Crystal con ASP Net

diana
04 de Noviembre del 2005
Hola, mil disculpas por la molestia pero creanme q ya estoy en momento de desesperacion, sucede q tengo una pagina aspx en la cual tengo un crystalviewer y un reportdocument y ahi muestro mis reportes, mi problema ahora esta en q los reportes con parametros no me los muestra, me manda el fallo de failed to open rowset :( ,,los reportes sin paametros si me los muestra perferctamente, ademas q si por ejemplo tienen mas de una tabla me pide nuevamente los datos de conexion a la base de datos, esoty con c#(si lo tienen con VB igual me sirve) y se conecta a SQL Server 2000, y los rpt usan procedimientos almacenados.
Alguien me puede ayudar por farvor!!
De todo corazon mil gracias por tu atencion!

gabriel_sk
04 de Noviembre del 2005
Encontraste la solucin, porque yo tengo EL MISMO PROBLEMA

diana
04 de Noviembre del 2005
hola, mira ya solucione lo del fallo, no se q version tengas, yo los rpt estan en la version 7, y el cr q tengo cargado en el .net es el 10, vi q los procedimientos almacenados no me los identificaba como antes, por lo q en el location de cada table le reasigo de la siguiente forma table1.locatio= table1.nombre + ";1" ya q vi q en CR10 asi es como identifica a los store procedures agregandole al nombre el ;1 , ya elfallo no me sale pero ahora me aparecee un recuadro gris pidiendome q asigne los parametros, checaso a ver q suerte tienes tu y mantenme informada a ver somo te fue
Saludos!!

nieves
04 de Noviembre del 2005
Te voy a poner el cdigo que tengo pero es con VB y con la BD en Oracle, as que no s si te va a servir:
ste es el cdigo del formulario que contiene el crystalreportviewer:
Public Class Reporte
Inherits System.Web.UI.Page
Public conexion As OracleConnection
Private reporte As New CrystalReport1
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'_____________________CODIGO PARA QUE NO PIDA LOS PARAMETROS DE CONEXIN________________
'he puesto una variable de sesin para la conexin
conexion = Session("conexion_oracle")

Dim ds As New DataSet
Dim cmd1 As New OracleCommand
cmd1.Connection = conexion
Dim cmd2 As New OracleCommand
cmd2.Connection = conexion

Dim da1 As New OracleDataAdapter
da1.SelectCommand = cmd1
da1.SelectCommand.CommandType = CommandType.Text
da1.SelectCommand.CommandText = "select * from EMP"
da1.FillSchema(ds, SchemaType.Source, "EMP")
da1.Fill(ds, "EMP")

Dim da2 As New OracleDataAdapter
da2.SelectCommand = cmd2
da2.SelectCommand.CommandType = CommandType.Text
da2.SelectCommand.CommandText = "select * from DEPT"
da2.FillSchema(ds, SchemaType.Source, "DEPT")
da2.Fill(ds, "DEPT")
'_____________________________________________
'ste es un parmetro que paso desde otro formulario para elegir la fila de la tabla maestro que tenga como identificador dicho parmetro
Dim codig As String
codig = Request.QueryString("Codigo")

reporte.SetDataSource(ds)

reporte.DataDefinition.RecordSelectionFormula = "{DEPT.DEPTNO}=" & codig 'SIRVEN LOS DOS, AQU O EN EL CRYSTALVIEWER

'___PASAR PARMETROS__________________
Dim paramFields As New ParameterFields 'creamos la lista parmetros
Dim paramField As New ParameterField 'creamos el hueco parmetr
Dim discreteVal As New ParameterDiscreteValue 'creamos las variables de las parmetros

'_____________esto ya no hace falta________________________________________________
paramField.ParameterFieldName = "parametro" 'parametro del CrViewer que queremos rellenar
'discreteVal.Value = "Valor que le asignamos al parmetro" 'metemos el valor que queremos que tenga
discreteVal.Value = "2"
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)
CrystalReportViewer1.ParameterFieldInfo = paramFields

'_____________________________________________

'CrystalReportViewer1.SelectionFormula = "{DEPT.DEPTNO}=" & codig
CrystalReportViewer1.ReportSource = reporte
'CrystalReportViewer1.PrintMode = CrystalDecisions.Web.PrintMode.ActiveX
'CrystalReportViewer1.DataBind()
'esto lo he comentado pero es lo que debera servirte.est comentado porque luego lo cambi para exportarlo a un pdf

'_____EXPORTAR A PDF____________________
reporte.SetParameterValue("parametro", "hola")

'IMP_________________________bien_____________

Dim DiskOpts As New CrystalDecisions.Shared.DiskFileDestinationOptions
reporte.ExportOptions.ExportDestinationType = ExportDestinationType.DiskFile
reporte.ExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat
DiskOpts.DiskFileName = "c:documento.pdf"
reporte.ExportOptions.DestinationOptions = DiskOpts

reporte.Export()
Response.ClearContent()
Response.ClearHeaders()
Response.ContentType = "application/pdf"
Response.WriteFile("c:documento.pdf")
Response.Flush()
Response.Close()
System.IO.File.Delete("c:documento.pdf")
End Sub
End Class
Espero que te sirva de algo

diana
04 de Noviembre del 2005
hola, me podrias informar q version de crystal report estas usando? Gracias!

nieves
04 de Noviembre del 2005
Estoy usando la versin 10

cristhian sosa
04 de Noviembre del 2005
cargas en el cristal viewer selection formula la condicion
crvEmpTrans.SelectionFormula =" registro de la tabla = 12"
crvemptrans.reportsource= rpt