elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Java [Guía] Patrones de diseño - Parte 1


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (Moderadores: Novlucker, seba123neo, kub0x, Eleкtro)
| | | |-+  Consulta dataset tipado, VS.NET 2010 VB.NET
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Consulta dataset tipado, VS.NET 2010 VB.NET  (Leído 1,207 veces)
Yaldabaot

Desconectado Desconectado

Mensajes: 168


Ver Perfil
Consulta dataset tipado, VS.NET 2010 VB.NET
« en: 17 Octubre 2015, 19:52 »

Buenas,

Estoy realizando un crystal report, el crystal report se llena con un dataset, donde es un objeto xsd donde le defino previamente sus datatables, la cuestión es que realizo una consulta y el dataset debería en buena teoría llenarse con la misma, pero resulta que no lo hace sino que queda vacío, como hago para llenar ese dataset desde el código para luego simplemente pasarselo lleno al crystal report y generar la consulta?.


Este es el código que tengo, el cuál recibe como parámetro un entero, este mismo retorna un dataset, el cuál según yo debería llenar al item xsd que definí con el diseñador de visual studio, porque el crystal jala ese datasource de ese dataset y de ahí simplemente debería desplegar los campos

No lo hago desde el wizard poque queda completamente suspeditado a una ruta del archivo de access y bueno para hacer un datasource dinámico es un poco engorroso desde el wizard, entonces simplemente decidí hacerlo desde un dataset y que en tiempo de ejecución lo llene
Código
  1.  
  2. Public Function llenar_dataset(ByVal fact As Integer) As DataSet
  3.  
  4.  
  5.        Dim cmd2 As OleDb.OleDbCommand = Nothing
  6.        Dim ds As New DS_Tablas
  7.  
  8.  
  9.  
  10.        conn.Open()
  11.  
  12.        cmd = New OleDb.OleDbCommand("SELECT *  FROM tbl_HEADER  WHERE ID_CONSECUTIVO = @Id", conn)
  13.        cmd.Parameters.AddWithValue("Id", fact)
  14.        cmd.ExecuteNonQuery()
  15.  
  16.        Dim da As OleDbDataAdapter = New OleDbDataAdapter(cmd)
  17.  
  18.  
  19.        cmd2 = New OleDb.OleDbCommand("SELECT *  FROM tbl_DETAIL  WHERE COD_FACTURA = @Id_det", conn)
  20.        cmd2.Parameters.AddWithValue("Id_det", fact)
  21.        cmd2.ExecuteNonQuery()
  22.  
  23.  
  24.        Dim da2 As OleDbDataAdapter = New OleDbDataAdapter(cmd2)
  25.  
  26.  
  27.  
  28.        da.Fill(ds, "tbl_HEADER")
  29.        da2.Fill(ds, "tbl_DETAIL")
  30.  
  31.        conn.Close()
  32.  
  33.  
  34.        Return ds
  35.  
  36.    End Function
  37.  
  38.  

Acá el código que genera el crystal, el cuál la ruta y lo demás lo hace bien, simplemente sale vacío

Código
  1.  
  2. CrReport = New CrystalDecisions.CrystalReports.Engine.ReportDocument()
  3.  
  4.                ds = obj_data.llenar_dataset(Convert.ToInt32(lblConsecutivo.Text))
  5.  
  6.                CrReport.FileName = "CrystalReport1.rpt"
  7.  
  8.                'Ruta del reporte
  9.                str_path_factura = System.Windows.Forms.Application.StartupPath & "\" & "CrystalReport1.rpt"
  10.  
  11.                CrReport.Load(str_path_factura)
  12.  
  13.                'Esto es código provisional, simplemente es para saber si el dataset está lleno o no
  14.                If ds.Tables("tbl_HEADER").Rows.Count() = 0 Or ds.Tables("tbl_DETAIL").Rows.Count() Then
  15.  
  16.                    MsgBox("Tablas vacías")
  17.                Else
  18.                    MsgBox("Tu dataset está lleno chico")
  19.  
  20.  
  21.                    MsgBox(ds.Tables("tbl_HEADER").Rows.Count().ToString)
  22.                    MsgBox(ds.Tables("tbl_DETAIL").Rows.Count().ToString)
  23.                End If
  24.  
  25.                CrReport.SetDataSource(ds.Tables(0))
  26.                CrReport.SetDataSource(ds.Tables(1))
  27.  
  28.                'CrReport.PrintToPrinter(False, False, False, False)
  29.  




Pues acá está el código pero le dataset sale vacío y por tanto el reporte igual.

GRACIAS POR LEER


« Última modificación: 17 Octubre 2015, 19:58 por Yaldabaot » En línea

Nunca me contestan -_-
Yaldabaot

Desconectado Desconectado

Mensajes: 168


Ver Perfil
Re: Consulta dataset tipado, VS.NET 2010 VB.NET[SOLUCIONADO]
« Respuesta #1 en: 17 Octubre 2015, 21:01 »

Ya lo resolví!!, usé esto

Código
  1.  
  2. Dim CrReport As New CrystalDecisions.CrystalReports.Engine.ReportDocument
  3.                ' Asigno el reporte
  4.  
  5.  
  6.                CrReport = New CrystalDecisions.CrystalReports.Engine.ReportDocument()
  7.  
  8.                'ds = obj_data.llenar_dataset(Convert.ToInt32(lblConsecutivo.Text))
  9.  
  10.                CrReport.FileName = "CrystalReport1.rpt"
  11.  
  12.                'Ruta del reporte
  13.                str_path_factura = System.Windows.Forms.Application.StartupPath & "\" & "CrystalReport1.rpt"
  14.  
  15.                CrReport.Load(str_path_factura)
  16.                CrReport.SetDataSource(obj_data.llenar_dataset(Convert.ToInt32(lblConsecutivo.Text)))
  17.                CrReport.PrintToPrinter(False, False, False, False)
  18.  
  19.  


En línea

Nunca me contestan -_-
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
dataset tipado sin controles enlazados
.NET
pedraxito 2 2,123 Último mensaje 26 Marzo 2008, 03:54
por pedraxito
porque C es de debil tipado « 1 2 »
Programación C/C++
doctorman 10 3,154 Último mensaje 26 Febrero 2014, 09:15
por amchacon
Consulta Escritorio Remoto VB.NET 2010
.NET
Yaldabaot 2 1,159 Último mensaje 6 Octubre 2015, 00:33
por Yaldabaot
Imprimir report rdlc vs 2010 vb.net , Consulta
.NET
Yaldabaot 1 2,381 Último mensaje 14 Octubre 2015, 01:15
por Yaldabaot
¿Débil o fuerte tipado?
Programación General
magodiesan 3 592 Último mensaje 13 Septiembre 2017, 21:39
por ivancea96
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines