Visual Basic - Consulta a BD y Ponerlos en Crystal Report Insertando una Imagen

Life is soft - evento anual de software empresarial
 
Vista:

Consulta a BD y Ponerlos en Crystal Report Insertando una Imagen

Publicado por Jose Luis (1 intervención) el 21/01/2012 20:49:53
Que tal amigos estoy atorado con un programa de impresión que estoy realizando en mi trabajo, y bueno el problema que tengo es el siguiente:

Trabajo con Visual Studio 2005 y una base de datos en SQL 2000

- Tengo un dataset llamado "dsFoto" que hice con los datos que necesito para mostrar en mi reporte
-Tengo un Reporte en Crystal Reports llamado "crFoto" el cual ya esta diseñado con los campor de mi dataset.
-Tengo un Form llamado Form1 donde tengo un boton para imprimir y el crystalreportviewer

Lo que quiero es conectarme a mi BD, traer con un query los campos de las tablas que necesito, llenar mi dataset y que se muestren en mi reporte.

Tambien tengo que insertar una imagen en el reporte la cual no esta guardada en la BD si no que esta compartida en una carpeta en la red, ya tengo el campo en mi data set de tipo byte porque lei por la red que ese era el tipo necesario para poder mostrala,

mi codigo es el siguiente:

Public Class FFoto
Private Sub BImprimir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BImprimir.Click

Dim oCnn As New SqlConnection ' Objeto de conexion a la base de datos
Dim daDatos As New SqlDataAdapter ' Objeto Adaptador para leer datos de la Base de datos
Dim cmdExec As New SqlCommand ' objeto comando para ejecutar sentencias sql
Dim dtDatos As New DataTable ' datatable para recibir los datos de la base de datos
Dim sbQuery As New StringBuilder ' StringBuilder para armar cadenas
Try

oCnn.ConnectionString = "DATA SOURCE = 192.168.2.209;INITIAL CATALOG = GESTORIA; USER ID = SA;PASSWORD = YESSICA"
oCnn.Open()
cmdExec = oCnn.CreateCommand
cmdExec.Connection = oCnn

sbQuery.Append("SELECT F.PERMISOFOLIO,F.FOLIOFINIQUITO,F.ELABORO,F.REVISO,P.PROPIETARIO,P.PPRANCHO,P.EJIDOLOCALIDAD,R.CULTIVOS FROM TBLFINIQUITOSAMP AS F INNER JOIN TBLPERMISOSAMP AS P ON P.PERMISOFOLIO = F.PERMISOFOLIO INNER JOIN TBLAFECTACION4 AS A ON A.PERMISOFOLIO = F.PERMISOFOLIO INNER JOIN TBLPRECIOS AS R ON R.CLAVE = A.AFECTACION WHERE F.FOLIOFINIQUITO = '5108' ")

cmdExec.CommandText = sbQuery.ToString
daDatos = New SqlDataAdapter(cmdExec)
daDatos.Fill(dtDatos)

ImageToByte(Image.FromFile("\\192.168.2.209\fotos\BLOQUE4\retendido\2853.JPG"))

Dim CrReport As New CrystalDecisions.CrystalReports.Engine.ReportDocument
' Asigno el reporte
CrReport = New CrystalDecisions.CrystalReports.Engine.ReportDocument()
CrReport.Load(Application.StartupPath & "\crFoto.rpt")
CrReport.SetDataSource(dtDatos)

CrystalReportViewer1.ReportSource = CrReport

Catch ex As Exception
MessageBox.Show("excepcion: " & ex.Message, "Mostrando Reporte")
End Try
End Sub

Public Function ImageToByte(ByVal pImagen As Image) As Byte()
Dim mImage() As Byte
Try
If Not IsNothing(pImagen) Then
Dim ms As New System.IO.MemoryStream
pImagen.Save(ms, pImagen.RawFormat)
mImage = ms.GetBuffer
ms.Close()
Return mImage
End If
Catch
End Try
End Function
End Class

** Estoy perdido en como paso los datos de la consulta a las columnas de mi dataset que ocupo en mi reporte.

Espero alguien pueda ayudarme porque ya estoy un poco desesperado y me estan presionando mucho con el programa.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder