Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/11/2009, 17:53
Avatar de eperedo
eperedo
 
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 15 años, 5 meses
Puntos: 16
Respuesta: Crystal report y procedimientos alamcenado

Hola, necesariamente necesitas usar el SqlDataReader, salvo que uses generics creo que te convendría usar un DataTable, claro que todo depende del escenario en el que te encuentres.

Podrías hacer algo así:
Código vb.net:
Ver original
  1. Private Function Consulta() As DataTable
  2. Using testCMD As New SqlCommand("spMostrarEnfermedad", con)
  3. testCMD.CommandType = CommandType.StoredProcedure
  4. Dim RetValue As SqlParameter = testCMD.Parameters.Add("RetValue", SqlDbType.Int)
  5.             RetValue.Direction = ParameterDirection.ReturnValue
  6. Dim nombre As SqlParameter = testCMD.Parameters.Add("nombre", SqlDbType.VarChar, 50)
  7.             nombre.Direction = ParameterDirection.Input
  8. nombre.Value = nom_enferm
  9. Using testDa As New SqlDataAdapter(cmd)
  10.        Dim dt As New DataTable()
  11.        da.Fill(dt)
  12.        return dt
  13. End Using
  14. End Using
  15.  
  16. 'Para llamar al reporte
  17. private sub cargarReporte()
  18. Dim rpt As New ReportDocument()
  19. rpt.Load("C:\mireporte.rpt") 'Reemplazalo por la ruta del reporte
  20. rpt.SetParameterValue("RetValue", 0) //parametro 1
  21. rpt.SetParameterValue("nombre", nom_enferm) //parametro 2
  22. rpt.SetDataSource(Me.Consulta)
  23. CrystalReportViewer1.ReportSource = rpt
  24. End sub

Como te das cuenta tienes que usar el método setParameterValue para los parámetros, el primer valor es el nombre del parámetro y el segundo el dato que tendrá este parámetro.
Luego con SetDataSource le indicas el origen de datos.
Al final le agregas el reporte al visor mediante la propipedad ReportSource.

Cualquier duda me avisas
__________________
Eduardo Peredo
Wigoin