会不会你的CRYSTALREPORT引擎没有安装好?
解决方案 »
- 关于图片处理``
- 要设计个类似老*虎*机的算法,要求100元能返还70(70%)可调的。
- 为啥我的asp.net无法调试
- 如何在DropDownList中动态显示指定的项?
- 急!项目做不下去了。关于DataGrid中某一列的值要做成下拉,并且数据从其它表取?救命!
- DataGrid模板列链接传值的问题
- 为什么我的IIS不能显示Aspx文件???
- 两个问题:如何关闭指定的窗口,如何让页面的<div>块不动.
- !!!!!!!!!!!!如何给一个gridview添加一个鼠标点击事件!!!!!!!!!!!急求
- 怎么实现编写一个没有任何ie按钮的网页窗口?
- 如何在ASP.Net程序退出时将一些数据保存数据库?
- Asp中下拉列表框的问题?急
我的程序是将crystalreport导出为pdf文件的
可是其他的都可以,为何就这个不行呢?!
源代码如下:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using ExportPdf;
using DataCenter;
namespace testcry
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class rhs26_result_pdf : System.Web.UI.Page
{
public rhs26 opt=new rhs26();
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Server.ScriptTimeout=9600;
if(!IsPostBack)
{
string dfrom1=rhs26_query.bdateParam;
string efrom1=rhs26_query.edateParam;
string type=rhs26_query.areaParam;
string brn=rhs26_query.brnParam;
string sea=rhs26_query.seaParam;
string bps=rhs26_query.bpercentParam;
string eps=rhs26_query.epercentParam;
string group=rhs26_query.groupParam;
string flag=rhs26_query.sale0Param;
string detail=rhs26_query.area1Param;
string ma=rhs26_query.maParam;
SqlConnection sqlConnStr=new SqlConnection("server=192.168.1.98;database=tsales;uid=tsales_dba;password=ctoppy;Timeout=9600");
string s_sql = "exec wwwsales_image1_new1 '"+type+"','"+detail+"','"+brn+"','"+sea+"','"+group+"','"+dfrom1+"','"+efrom1+"','"+flag+"','"+bps+"','"+eps+"','"+ma+"'";
SqlDataAdapter dataAdapter = new SqlDataAdapter (s_sql,sqlConnStr);
DataSet1 dataSet = new DataSet1();
dataAdapter.SelectCommand.CommandTimeout=9600;
// 连接到数据库、从数据库中获取数据然后断开数据库连接
dataAdapter.Fill (dataSet,"wwwsales_image1;1");
opt.SetDataSource(dataSet);
ReportClass OPT1 =new ReportClass();
OPT1 = opt;
ExportOptions R_option=new ExportOptions();
R_option = opt.ExportOptions;
R_option.ExportDestinationType =ExportDestinationType.DiskFile;
R_option.ExportFormatType =ExportFormatType.PortableDocFormat;
R_option.ExportDestinationType =ExportDestinationType.DiskFile;
DiskFileDestinationOptions diskopts=new DiskFileDestinationOptions();
string pdfname="rhs26_"+DateTime.Now.ToShortDateString()+"_"+DateTime.Now.ToLongTimeString().Replace(":","-")+"_"+DateTime.Now.Millisecond.ToString()+".pdf";
diskopts.DiskFileName =Server.MapPath("pdfdata/"+pdfname);
R_option.DestinationOptions = diskopts;
ParameterValues paramValues=new ParameterValues();
ParameterDiscreteValue discreteVal = new ParameterDiscreteValue();
discreteVal.Value=type;
paramValues.Add(discreteVal);
//设置第二个参数字段的名字及值,paramField及discreteVal变量
//被设置为新置,这样,以前的设置就不会被覆盖,第三、第四,...,
//以此类推
discreteVal=new ParameterDiscreteValue();
discreteVal.Value=detail;
paramValues.Add(discreteVal);
//
discreteVal=new ParameterDiscreteValue();
discreteVal.Value=brn;
paramValues.Add(discreteVal);
//
discreteVal=new ParameterDiscreteValue();
discreteVal.Value=sea;
paramValues.Add(discreteVal);
//
discreteVal=new ParameterDiscreteValue();
discreteVal.Value=group;
paramValues.Add(discreteVal);
//
discreteVal=new ParameterDiscreteValue();
discreteVal.Value =dfrom1;
paramValues.Add(discreteVal);
//
discreteVal=new ParameterDiscreteValue();
discreteVal.Value=efrom1;
paramValues.Add(discreteVal);
//
discreteVal=new ParameterDiscreteValue();
discreteVal.Value=flag;
paramValues.Add(discreteVal);
//
discreteVal=new ParameterDiscreteValue();
discreteVal.Value=bps;
paramValues.Add(discreteVal);
//
discreteVal=new ParameterDiscreteValue();
discreteVal.Value=eps;
paramValues.Add(discreteVal);
//
discreteVal=new ParameterDiscreteValue();
discreteVal.Value=ma;
paramValues.Add(discreteVal);
discreteVal.Kind =DiscreteOrRangeKind.DiscreteValue;
ParameterValues paramValue=new ParameterValues();
for(int i=0;i<=paramValues.Count-1;i++)
{
paramValue.Clear();
paramValue.Add(paramValues[i]);
OPT1.DataDefinition.ParameterFields[i].ApplyCurrentValues(paramValue);
}
OPT1.Export();
sqlConnStr.Close();
Response.Redirect("pdfreader.asp?pdfname="+pdfname);
}
} #region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
}
}
“/testcry”应用程序中的服务器错误。
--------------------------------------------------------------------------------文件 C:\WINNT\TEMP\temp_d7952db1-64cc-4d14-9df1-ef2bba754d1d.rpt 内出错:导出 DLL: 检测到错误
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: CrystalDecisions.CrystalReports.Engine.ExportException: 文件 C:\WINNT\TEMP\temp_d7952db1-64cc-4d14-9df1-ef2bba754d1d.rpt 内出错:导出 DLL: 检测到错误源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 堆栈跟踪:
[ExportException: 文件 C:\WINNT\TEMP\temp_d7952db1-64cc-4d14-9df1-ef2bba754d1d.rpt 内出错:
导出 DLL: 检测到错误]
.K(String
, EngineExceptionErrorID ) +386
.F(Int16 , Int32 ) +491
CrystalDecisions.CrystalReports.Engine.FormatEngine.Export(ExportRequestContext reqContext) +469
CrystalDecisions.CrystalReports.Engine.FormatEngine.Export() +114
CrystalDecisions.CrystalReports.Engine.ReportDocument.Export() +74
testcry.rhs26_result_pdf.Page_Load(Object sender, EventArgs e) in E:\wwwroot\testcry\rhs26_result_pdf.aspx.cs:116
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +29
System.Web.UI.Page.ProcessRequestMain() +724
dataAdapter.Fill (dataSet,"wwwsales_image1;1");
我想可能是这个原因,你报表中使用的数据源的名称不是wwwsales_image1;1
而你dataset中的表的名称是wwwsales_image1;1
同时再请教高手:怎么在code里控制输入框的输入,如只让输入数字等.