最后40分全给出来了,水晶报表连接传参的问题

5166gogo 2007-08-14 11:15:36
asp.net页面显示指定的参数已超出有效值的范围,@name有错.

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using CrystalDecisions.Shared; //负责解释TableLogOnInfo类
using CrystalDecisions.CrystalReports.Engine; //负责解释ReportDocument类


public partial class _Default : System.Web.UI.Page
{
ParameterFields crParameterFields;
ParameterField crParameterField;
ParameterValues crParameterValues;
ParameterDiscreteValue crParameterDiscreteValue;
private void Page_Load(object sender, System.EventArgs e)
{
TableLogOnInfo logOnInfo = new TableLogOnInfo();
//这里必须事先申明一个ReportDocument对象 Report,同时加载数据报表
ReportDocument oRpt = new ReportDocument();
//获取.rpt文件真实路径
string path;
path = Server.MapPath("GZ_CReport.rpt");
oRpt.Load(path);

//从web.config中获取logOnInfo参数信息
string a, b, c, d;
//获取ServerName
a = System.Configuration.ConfigurationSettings.AppSettings["servername"];
//获取DatabaseName
b = System.Configuration.ConfigurationSettings.AppSettings["database"];
//获取UserId
c = System.Configuration.ConfigurationSettings.AppSettings["userid"];
//获取password
d = System.Configuration.ConfigurationSettings.AppSettings["pass"];
//设置logOnInfo参数
logOnInfo.ConnectionInfo.ServerName = a;
logOnInfo.ConnectionInfo.DatabaseName = b;
logOnInfo.ConnectionInfo.UserID = c;
logOnInfo.ConnectionInfo.Password = d;

crParameterFields = CrystalReportViewer2.ParameterFieldInfo;
crParameterField = crParameterFields["@name"];//字段名
crParameterValues = crParameterField.CurrentValues;
crParameterDiscreteValue = new ParameterDiscreteValue();
crParameterDiscreteValue.Value = Request.QueryString["name"]; ;//字段值
crParameterValues.Add(crParameterDiscreteValue);

CrystalReportViewer2.ParameterFieldInfo = crParameterFields;
//建立.rpt文件与CryStalReportviewer文件之间的连接
CrystalReportViewer2.ReportSource = oRpt;

}

}

但如果将以下
//建立.rpt文件与CryStalReportviewer文件之间的连接
CrystalReportViewer2.ReportSource = oRpt;
放在
logOnInfo.ConnectionInfo.DatabaseName = b;
logOnInfo.ConnectionInfo.UserID = c;
logOnInfo.ConnectionInfo.Password = d;
后面提示输入数据库登录,登录成功能够正常显示,我调了一晚上,不知哪出错了,大家帮帮忙,不够分我加!
...全文
163 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenjaichang 2007-08-31
  • 打赏
  • 举报
回复
顶~~
5166gogo 2007-08-15
  • 打赏
  • 举报
回复
帮帮忙呀

4,818

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧