当前位置:编程学习 > C#/ASP.NET >>

求救呀,水晶报表!有多少分给多少!!!

各位高手好!
  本人有二个问题无法解决:
  1、用VBNET作了一小系统,报表是visula basic 2005 中的水晶报表,当时的水晶报表调用数据库的IP是192.168.0.80中的存储过程。运行程序,可以打开报表浏览数据,但是打开报表要输入数据库的密码
  2、如果数据库服务器(sql server 2005)IP换成192.168.0.88时,报表不能打开。如何转换?请高手指点,谢谢!

Dim MyPubReport As New FrmPublicReport

        Dim pvMatCodeconn As New CrystalDecisions.Shared.ParameterValues()
        Dim pvSDateConn As New CrystalDecisions.Shared.ParameterValues()
        Dim pvEDateConn As New CrystalDecisions.Shared.ParameterValues()
        Dim pvMatNameConn As New CrystalDecisions.Shared.ParameterValues()
        Dim pvMatTypeConn As New CrystalDecisions.Shared.ParameterValues()

        Dim pdvMatCode As New CrystalDecisions.Shared.ParameterDiscreteValue()
        Dim pdvSdate As New CrystalDecisions.Shared.ParameterDiscreteValue()
        Dim pdvEdate As New CrystalDecisions.Shared.ParameterDiscreteValue()
        Dim pdvMatName As New CrystalDecisions.Shared.ParameterDiscreteValue()
        Dim pdvMatType As New CrystalDecisions.Shared.ParameterDiscreteValue()

        Dim rptPath As New CrystalDecisions.CrystalReports.Engine.ReportDocument()

        rptPath.Load("..\WarehousStockReport.rpt")  '现放于BIN目录下

        pdvSdate.Value = Trim(txtSDate.Text)
        pdvEdate.Value = Trim(txtEDate.Text)
        pdvMatCode.Value = Trim(txtMatcode.Text)
        pdvMatName.Value = Trim(txtMatName.Text)
        pdvMatType.Value = Trim(txtMatType.Text)

        pvMatCodeconn.Add(pdvMatCode)
        pvSDateConn.Add(pdvSdate)
        pvEDateConn.Add(pdvEdate)
        pvMatNameConn.Add(pdvMatName)
        pvMatTypeConn.Add(pdvMatType)
        MyPubReport.CRV.ReportSource = rptPath

        rptPath.DataDefinition.ParameterFields("@StartDate").ApplyCurrentValues(pvSDateConn)
        rptPath.DataDefinition.ParameterFields("@EndDate").ApplyCurrentValues(pvEDateConn)
        rptPath.DataDefinition.ParameterFields("@MatId").ApplyCurrentValues(pvMatCodeconn)
        rptPath.DataDefinition.ParameterFields("@MatName").ApplyCurrentValues(pvMatNameConn)
        rptPath.DataDefinition.ParameterFields("@MatType").ApplyCurrentValues(pvMatTypeConn)
        MyPubReport.CRV.DisplayGroupTree = False
        MyPubReport.Show() --------------------编程问答-------------------- 密码。。。借分。。。 --------------------编程问答-------------------- 這結貼率。。。。 --------------------编程问答-------------------- 这个本人也遇到过。你连接水晶报表的数据模式客服端要有安装,一般使用ADODB模式兼容性好一点。你应该使用的是pull模式来读取数据吧。
这样每次浏览报表都要设置连接信息:
Dim logonInfo As New TableLogOnInfo()
For Each table As CrystalDecisions.CrystalReports.Engine.Table In ReportDoc.Database.Tables
'ReportDoc是你的报表名称。
logonInfo = table.LogOnInfo
logonInfo.ConnectionInfo.ServerName = "localhost"
logonInfo.ConnectionInfo.DatabaseName = "hlweb"
logonInfo.ConnectionInfo.UserID = "sa"
logonInfo.ConnectionInfo.Password = ""
table.ApplyLogOnInfo(logonInfo)
Next

--------------------编程问答-------------------- 参考:水晶报表专家的
http://www.cnblogs.com/babyt/archive/2009/07/26/1531539.html
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,