首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

為什么水晶報表老是不能顯示出數据來呢?该怎么处理

2012-01-19 
為什么水晶報表老是不能顯示出數据來呢?是一個(winForm)的主從報表.建立報表時按照主表的主鍵來分組的在水

為什么水晶報表老是不能顯示出數据來呢?
是一個(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

热点排行