关于水晶报表,为什么我预览出来的内容跟查出来的内容是两样的呀,帮忙呀!

amylqt 2003-07-26 04:14:47
//Crystal Report Variables
CrystalReport1 crReportDocument = new CrystalReport1();

//'CrystalReport1' must be the name the CrystalReport
TableLogOnInfo crTableLogOnInfo = new TableLogOnInfo();
ConnectionInfo crConnectionInfo = new ConnectionInfo();

//Crystal Report Properties
CrystalDecisions.CrystalReports.Engine.Database crDatabase;
CrystalDecisions.CrystalReports.Engine.Tables crTables;
// CrystalDecisions.CrystalReports.Engine.Table crTable;
string a,b,c,d;


//获取ServerName
a=System.Configuration .ConfigurationSettings.AppSettings["ServerName"];
//获取DatabaseName
b=System.Configuration .ConfigurationSettings .AppSettings ["DatabaseName"];
//获取UserId
c=System.Configuration .ConfigurationSettings .AppSettings ["UserID"];
//获取password
d=System.Configuration .ConfigurationSettings .AppSettings ["Password"];
crConnectionInfo.ServerName = a;
crConnectionInfo.DatabaseName =b;
crConnectionInfo.UserID = c;
crConnectionInfo.Password =d;
crDatabase = crReportDocument.Database;
crTables = crDatabase.Tables;

foreach(CrystalDecisions.CrystalReports.Engine.Table crTable in crTables)
{
crTableLogOnInfo = crTable.LogOnInfo;
crTableLogOnInfo.ConnectionInfo = crConnectionInfo;
crTable.ApplyLogOnInfo(crTableLogOnInfo);
}
SqlConnection myConnection = new SqlConnection(Globals.DBConnectionString);
myConnection.Open ();
DataSet ds =new DataSet ();
int SchoolID=LoginUsers.GetLoggedOnUser().schoolID;
string strSel = "Select Code,SpecialityName,DegreeName, SpecialityCategoryName,SchoolTypeName,Years,People,ClassNum,EnterDate,GraduateDate from vSpeciality where SchoolID="+SchoolID+" and left(code,4)=2002 order by code ";
SqlDataAdapter MyAdapter=new SqlDataAdapter (strSel,myConnection);
MyAdapter.Fill(ds,"vSpeciality");
crReportDocument.SetDataSource(ds);
rptVew.ReportSource = crReportDocument;
myConnection.Close();

select 的语句根本没用呀
...全文
23 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lemong 2003-07-28
  • 打赏
  • 举报
回复

加入
rptVew.RefreshReport();
试试
MarcuseXiao 2003-07-28
  • 打赏
  • 举报
回复
补充:

其实你把水晶报表的绑定数据源没搞清楚。
你指定TableLogOnInfo 是使水晶表创建时的连接数据源有效,
为是PULL方式的连接.

而绑定DataSet则是使水晶表连接到外部数据源,这是PUSH方式.

你把两种方式放一起,肯定后面的没效果。

你根据实际情况取舍一种
derek 2003-07-28
  • 打赏
  • 举报
回复
不用指定TableLogOnInfo,直接將CrystalReport的數據源指定為dataset.
MarcuseXiao 2003-07-28
  • 打赏
  • 举报
回复
//将Select捆绑到数据库适配器
SqlDataAdapter MyAdapter=new SqlDataAdapter (strSel,myConnection);

//将适配器中SELECT得到数据fill进DataSet
MyAdapter.Fill(ds,"vSpeciality");

//指定水晶表的数据源是DataSet
crReportDocument.SetDataSource(ds);

怎么没用
amylqt 2003-07-28
  • 打赏
  • 举报
回复
是呀
do1doer 2003-07-27
  • 打赏
  • 举报
回复
你自己设计CrystalReport1的字段了吗?

110,530

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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