数据库连接类,需要在webconfig中设置好AppSettings["servername"],AppSettings["userid"],AppSettings["pass"]这三个数据库OLEDB的连接字符串. public class LoginCrystalReport
{
public void Login(CrystalDecisions.CrystalReports.Engine.ReportDocument report)
{
string servername, username, password;
// t Database Logon to main report
servername = System.Configuration.ConfigurationSettings.AppSettings["servername"];
username = System.Configuration.ConfigurationSettings.AppSettings["userid"];
password = System.Configuration.ConfigurationSettings.AppSettings["pass"];
foreach (CrystalDecisions.Shared.IConnectionInfo connection in report.DataSourceConnections)
{
if (connection.ServerName == servername)
{
connection.SetLogon(username, password);
}
}
// t Database Logon to subreport
foreach (CrystalDecisions.CrystalReports.Engine.ReportDocument subreport in report.Subreports)
{
foreach (CrystalDecisions.Shared.IConnectionInfo connection in subreport.DataSourceConnections)
{
if (connection.ServerName == servername)
{
connection.SetLogon(username, password);
}
}
}
}
}
然后新建一个crystalreport1.rpt.使用数据库专家连接OLEDB上的你建立的数据库. 最后在default.aspx中拖入crytalreportview控件再在pageload事件中写入 DataSet ds = new DataSet();
LoginCrystalReport Logins = new LoginCrystalReport();
ads.Fill(ds, "TEST");//最狗屎的地方,这个Tablename一定要与你的数据库专家建的表名一样.
CrystalReport1 oRpt = new CrystalReport1();
oRpt.SetDataSource(ds);
Logins.Login(oRpt);
CrystalReportViewer1.ReportSource = oRpt;
CrystalReportViewer1.DataBind();就可以读相应的sql语句选出来的dataset了.
{
public void Login(CrystalDecisions.CrystalReports.Engine.ReportDocument report)
{
string servername, username, password;
// t Database Logon to main report
servername = System.Configuration.ConfigurationSettings.AppSettings["servername"];
username = System.Configuration.ConfigurationSettings.AppSettings["userid"];
password = System.Configuration.ConfigurationSettings.AppSettings["pass"];
foreach (CrystalDecisions.Shared.IConnectionInfo connection in report.DataSourceConnections)
{
if (connection.ServerName == servername)
{
connection.SetLogon(username, password);
}
}
// t Database Logon to subreport
foreach (CrystalDecisions.CrystalReports.Engine.ReportDocument subreport in report.Subreports)
{
foreach (CrystalDecisions.Shared.IConnectionInfo connection in subreport.DataSourceConnections)
{
if (connection.ServerName == servername)
{
connection.SetLogon(username, password);
}
}
}
}
}
然后新建一个crystalreport1.rpt.使用数据库专家连接OLEDB上的你建立的数据库. 最后在default.aspx中拖入crytalreportview控件再在pageload事件中写入 DataSet ds = new DataSet();
LoginCrystalReport Logins = new LoginCrystalReport();
ads.Fill(ds, "TEST");//最狗屎的地方,这个Tablename一定要与你的数据库专家建的表名一样.
CrystalReport1 oRpt = new CrystalReport1();
oRpt.SetDataSource(ds);
Logins.Login(oRpt);
CrystalReportViewer1.ReportSource = oRpt;
CrystalReportViewer1.DataBind();就可以读相应的sql语句选出来的dataset了.
解决方案 »
- 是怎么回事?
- 客户端如何控制服务器端控件,不要让它产生事件响应
- 菜鸟问题!!!!xmldatasource绑定GridView中只显示一条记录?
- 下载文件文件名乱码问题!编程下载服务器上一个文件,程序任何时候跟踪下面代码中“DownloadFile.FullName”都是对的,但实际谈出的下载框中的文件名却是乱码,高分求救!急
- 菜菜的问题,急啊!
- CSDN也解决不了的错误
- 求一个Sql语句
- WebForm服务器事件调用Excel.Application权限的问题
- 怎么通过SQL语句删除重复的记录,只保留一条
- 在访问WORD 文档时,系统一直提示“无法打开宏储存。 ”错误,请问如何解决?
- 为什么这样动态创建组件后,获取不了值
- 自定义查询
显示 需要查找的行
1、数据库的SQL语句进行过滤?
2、使用水晶报表的查找功能?
3、???