我水晶报表 我现在已经绑定上一个dataset了,然后我把各字段拉大报表上,可是在"主报表预览" 的时候 出现的值 不是我从数据库里取的值.而是 1111.00  青色    120.30  不知道为什么,我运行的时候只能出现列名,不能出现数据.....
这个问题小弟很急,希望大家能给指点下.谢谢了。.忘记说了,我用的是vs2005 ,winfrom ,还有,我的水晶没有注册,是不是这个问题引起的....

解决方案 »

  1.   

    呵呵,预览时候是不准确的,你要运行才是的,我也用这个没有问题。在预览时,并不是真正的到数据库中取值的,要你运行时候才是。如果不显示数据,你要看你的数据库是不是有数据,如果数据库没有数据怎么显示出来啊。
    你是用push还是pull模式的,如果你是那种全部用控件,不写代码那种,估计就是数据库中没有数据,或者数据专家那里设置不对。
      

  2.   

    我在vs.net2003下用dataset 操作sql数据库,在水晶报表里面使用dataset中的数据表,但是出现这种情况,有些报表可以查询到结果,有些就查询不出来,请问这是什么问题呢?
      我操作的步骤:1.在水晶报表所在的项目中添加你要添加数据的Dataset(为了更直观而已),打开你要做的水晶报表,并选择“字段资源管理器”选项卡-》选中“数据库字段”-》右键-》添加/删除数据库-》在弹出的“数据库专家”窗中的项目数据中选择“ADO.NET数据集”,并找到你之前做好的Dataset选中便可以添加。   
      2.回到设计报表界面,将你要显示的字段从刚添加Dataset中拖到报表上,就可以。(至于放在什么地方好,放在什么那一节才能显示你想要的数据,那你自己都试试就知道了)   
      3.去到你控制打开报表的代码下加上:     
      Dim   报表实例   As   New   你设计的报表       
      报表实例   .SetDataSource(你创建的Dataset)   
      4.再加代码把你的报表打开就可以了
     程序代码:
    '打开数据库连接
            Call openconn()
            '定义 dataAdapter对象
            Dim daPrintzhsjProEff As New SqlClient.SqlDataAdapter(strSearch, conn)
            dsPrintzhsjProEff.Reset()
            ' 用定义的dataset对象dsPrintzhsjProEff 填充 DataAdapter对象daPrintzhsjProEff
            daPrintzhsjProEff.Fill(dsPrintzhsjProEff, "zhsjProEff_rpt")
            '设置 报表对象 rptPrintzhsjProEff 的数据源
            rptPrintzhsjProEff.SetDataSource(dsPrintzhsjProEff.Tables(0))
            Me.crv_zhsjProEff.DisplayToolbar = True
            Me.crv_zhsjProEff.ReportSource = rptPrintzhsjProEff
            Me.crv_zhsjProEff.Refresh()
      我的问题:
      1。dataset中为什么数据表中有些字段有“小钥匙”标记〔见图1〕,小钥匙标  记的是不是就是关键字?这个小钥匙标志我还可以在xsd文件中人工控制它是否显示。
        2.就是在水晶报表中添加完了“字段管理器”中的数据库中的表的字段后,程序运行后有些能够打印出来〔见图2〕,有些不能打印出来(见图3),请问这是什么原因呢?
    请各位给我看看,谢谢了。
      我的qq19434696 ,邮箱[email protected]