我正在尝试将所有数据从数据库传递到报告:但是我收到错误(报告没有表格)
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
任何人都知道我能做什么?
答案 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
马尔卡。