CrystalReports DataTable错误VB.NET

时间:2012-05-03 17:26:08

标签: windows vb.net crystal-reports datatable dataset

我正在尝试将所有数据从数据库传递到报告:但是我收到错误(报告没有表格)

Dim sqlConn As String = "SELECT (SUM(item_selldetail * item_quantity )/ 100 * 12) AS isv_report," & _
                    " (SUM( item_selldetail * item_quantity ) - (SUM(item_selldetail * item_quantity )/ 100 * 12)) " & _
                    " AS capital_report,SUM( item_selldetail * item_quantity ) AS total_report  FROM qa_items;"
                Dim objDataAdapter As New MySqlDataAdapter(sqlConn, objConn)

                ' DataSet
                Dim ds As New DataSet

                ' llenar el DataSet
                objDataAdapter.Fill(ds)


                Dim mireporte As New ReportDocument()

                mireporte.Load("C:\Users\Jonathan\Desktop\Proyectos\Quickadmon\Quickadmon\Reportes\report_capital_rpt.rpt")

                mireporte.SetDataSource(ds)

                Me.capitalreport_viewer_capital_report.ReportSource = mireporte

任何人都知道我能做什么?

2 个答案:

答案 0 :(得分:1)

这是我过去所做的。

1。)在Crystal中创建ADO.NET(XML)连接。您需要提供XML文件的路径才能执行此操作,XML文件将包含DataTable(或DataReader)模式。它看起来像这样( x0020 表示字段中的空格,如果有的话,请参阅http://www.blakepell.com/Blog/?p=14以获取更多详细信息):

  <?xml version="1.0" encoding="utf-8" ?>
  <people>
      <first_x0020_name>
      <last_x0020_name>
      <phone>
  </people>

2。)像你一样设置数据源,在我的包装器代码中我有这样的东西,我从包装器的属性设置它:

    If _dataReader IsNot Nothing Then
        report.SetDataSource(_dataReader)
    End If

    If _dataTable IsNot Nothing Then
        report.SetDataSource(_dataTable)
    End If

3。)将它放在你的查看器控件中(或者导出它,这通常是我自从我从中生成PDF输出后所做的事情)。

    report.Export()

如果这对您不起作用,请发布您执行此操作时收到的特定堆栈跟踪和异常,以便我们更好地排除故障。 ;)

答案 1 :(得分:1)

此处的示例代码,请尝试使用此

    sql = "SELECT Product_id,Product_name,Product_price FROM Product"
    Dim dscmd As New SqlDataAdapter(sql, cnn)
    Dim ds As New DataSet1
    dscmd.Fill(ds, "Product")
    cnn.Close()

    Dim objRpt As New CrystalReport1
    objRpt.SetDataSource(ds.Tables(1))
    CrystalReportViewer1.ReportSource = objRpt
    CrystalReportViewer1.Refresh()

如果您需要完整的源代码:

http://vb.net-informations.com/crystal-report/crystal_report_from_sql_query_string.htm

马尔卡。