logOnInfo.ConnectionInfo.DatabaseName = "archives"; logOnInfo.ConnectionInfo.UserID = "sa"; logOnInfo.ConnectionInfo.Password = "123456";
oRpt.Database .Tables [0].ApplyLogOnInfo (logOnInfo);
//建立.rpt文件与CryStalReportviewer文件之间的连接 CrystalReportViewer1.ReportSource = oRpt; } 报表文件终于出现! 哇,我好高兴,禁不住站起来伸了个懒腰!
步骤四:最终的完整版的代码 上面的代码不具有系统可扩充和灵活性。缺点有二: (1)、数据报表格式文件是采用绝对路径 (2)、数据库访问权限的设置一旦设定,在最终发布是无法修改的,特别是客户的SQL SERVER服务器不可能和你调试的程序环境是一样的 基于这个考虑。引进两个比较好的东西: (1)、Server.Mappath函数 (2)、读取web.config(本示例同时告诉你如何操作web.config配置文件) 最终修改如下:(完整代码)数据库为sql server2000 using CrystalDecisions.Shared ;//负责解释TableLogOnInfo类 using CrystalDecisions.CrystalReports .Engine ;//负责解释ReportDocument类
private void Page_Load(object sender, System.EventArgs e) { TableLogOnInfo logOnInfo = new TableLogOnInfo (); //这里必须事先申明一个ReportDocument对象 Report,同时加载数据报表 ReportDocument oRpt = new ReportDocument(); //获取.rpt文件真实路径 string path1,path2; path1=Server.MapPath ("\\exer\\pagelet"); path2=path1+"\\crystal\\cr1.rpt"; //oRpt.Load("c:\\inetpub\\wwwroot\\exer\\pagelet\\crystal\\cr1.rpt"); oRpt.Load (path2);
//从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;
oRpt.Database .Tables [0].ApplyLogOnInfo (logOnInfo);
//建立.rpt文件与CryStalReportviewer文件之间的连接 CrystalReportViewer1.ReportSource = oRpt;
上一篇:在 ASP.NET 中用匿名委托简单模拟 AOP 做异常和日志处理
下一篇:存储过程使用技巧
|