专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VB Dotnet

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

发布时间:2011-06-23 15:58:22 文章来源:www.iduyao.cn 采编人员:星星草
為什么水晶報表老是不能顯示出數据來呢?
是一個(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 ")
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: