什么水晶表老是不能示出据呢?
是一(winForm)的主表.建立表按照主表的主分的
在水晶表上老是示不出任何的据,到底是什么原因呢?
Imports System.Data
Imports System.Data.odbc
Imports CrystalDecisions.CrystalReports.Engine
Public Class testViewer
Inherits System.Windows.Forms.Form
Dim tableMaster As New DataTable( "tablemaster ") '主表
Dim tabledetail As New DataTable( "tabledetail ") '表
Dim oRpt As New testCrystalReport()
Dim dsdataSet As New testDataset '建立据集
Private Sub testViewer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim str As String = "DRIVER={MySQL ODBC 3.51 driver}; SERVER=localhost;DATABASE=mybase;UID=myname;PASSWORD=sa;OPTION=3 "
Dim CN As New OdbcConnection(str)
CN.Open()
Dim daOrders As New OdbcDataAdapter( "select * from tablemaster ", CN)
Dim daDetails As New OdbcDataAdapter( "select * from tabledetail ", CN)
daOrders.Fill(tableMaster)
daDetails.Fill(tabledetail)
CN.Close()
dsdataSet.Tables.Add(tableMaster)
dsdataSet.Tables.Add(tabledetail)
oRpt.SetDataSource(dsdataSet)
CrystalReportViewer1.ReportSource = oRpt
End Sub
End Class
[解决办法]
’你这数据载入有问题,我下面这在vs2003下测试通过,zc为数据库名字,testCrystalReport为报表名字,testdataset为数据集名字(里面有tablemaster和tabledetail两个表并建立关系)
报表也添加有链接关系。如果要形成一对多(父子)在报表显示,最好建立主报表与子报表,再主报表里面插入子报表。
引用Imports System.Data.SqlClient
Dim oRpt As New testCrystalReport '报表名字
Dim dsdataSet As New testdataset '建立据
Private Sub testViewer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim str As String = "User ID=sa;Password=admin;Data Source=(local)\netsdk;Initial Catalog=zc "
Dim CN As New SqlConnection(str)
CN.Open()
Dim daOrders As New SqlDataAdapter( "select * from tablemaster ", CN)
Dim daDetails As New SqlDataAdapter( "select * from tabledetail ", CN)
daOrders.Fill(dsdataSet, "tableMaster ")
daDetails.Fill(dsdataSet, "tabledetail ")
CN.Close()
oRpt.SetDataSource(dsdataSet)
CrystalReportViewer1.ReportSource = oRpt
End Sub