问题描述
提示报表加载失败.代码很简单如下://函数部分usingSystem.Data.SqlClient;usingSystem.Text.RegularExpressions;usingCrystalDecisions.CrystalReports.Engine;usingCrystalDecisions.Shared;#region创建报表对象的方法publicReportDocumentGetCrystalReports(stringstr_reportname,Stringstr_sqltext){ReportDocumenttempreportdocument=newReportDocument();stringstr_reportpath=Application.StartupPath.Substring(0,Application.StartupPath.Substring(0,Application.StartupPath.LastIndexOf("\")).LastIndexOf("\"));str_reportpath+=@"crystal"+str_reportname;tempreportdocument.Load(str_reportpath);tempreportdocument.DataDefinition.RecordSelectionFormula=str_sqltext;returntempreportdocument;}#endregion代码部分驾校数据管理.PublicFunctionMyFunction=new驾校数据管理.PublicFunction();ReportDocumentMyDocument=newReportDocument();privatevoidbutton2_Click(objectsender,EventArgse){MySql1="select报名日期,学员学号,姓名,身份证号,选择教练,笔试时间from学员信息表where笔试时间>='"+DateTime.Parse(textBox1.Text).ToShortDateString()+"'and笔试时间<'"+DateTime.Parse(textBox2.Text).AddDays(1).ToShortDateString()+"'and第一教练isnulland选择教练isnotnullorderby选择教练,笔试时间;";MyData=newDataSet();MyData=MyFunction.GetSqlDataSet(MySql1,MyTable);this.MySql1="{学员信息表.学员学号}>='0'";//调用MyFunction对象的方法返回报表MyDocument=MyFunction.GetCrystalReports("CrystalReportfenpei.rpt",MySql1);//定义报表对象的数据源MyDocument.SetDataSource(MyData.Tables[MyTable].DefaultView);//在报表视图控件上显示报表内容this.crystalReportViewer1.ReportSource=MyDocument;}push方式是通过在解决方案资源管理器中添加了一个DATASET数据集.数据集没问题,用的是SQL的IP.用户名:密码:连接的.与报表有关的较大的代码都在这.头痛了两天了没解决求助.用PULL方式做的报表打包后能运行.但每次打开都要办理数据库密码.
解决方案
解决方案二:
等待中
解决方案三:
阿泰兄看你在水晶报表方面的造诣,很期待您的答复
解决方案四:
感动天感动地.今天恍然发现是自己的路径没设对.搞定了.