在水晶报表中为何总是显示登陆窗口?

james19790619 2005-12-23 11:39:49
在水晶报表中为何总是显示登陆窗口?
为什么?
谢谢!
...全文
396 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
blackhero 2006-02-13
  • 打赏
  • 举报
回复
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
ReportDoc = new ReportDocument();
ReportDoc.Load(Server.MapPath("myReport.rpt"));
#region 解决登录错误问题
TableLogOnInfo logonInfo = new TableLogOnInfo();//
foreach( CrystalDecisions.CrystalReports.Engine.Table tb in ReportDoc.Database.Tables)
{
logonInfo = tb.LogOnInfo;
logonInfo.ConnectionInfo.ServerName = "(local)";
logonInfo.ConnectionInfo.DatabaseName = "myDatabase";//
logonInfo.ConnectionInfo.UserID = "sa";
logonInfo.ConnectionInfo.Password = "111";//
tb.ApplyLogOnInfo(logonInfo);
}
#endregion
CrystalReportViewer1.ReportSource = ReportDoc;;
}
天开之想 2006-02-10
  • 打赏
  • 举报
回复
应该是你的强数据类型和你搜出的数据类型不符,我开始做的时候也是出现这个问题,后来数据类型搞对了就没事了
lyvvvv 2006-02-05
  • 打赏
  • 举报
回复
你既然已经得到了这个dataset,那么设计报表时完全可以不使用数据库本身作为数据源,而是将你得到的这个dataset导出成为xml,而设计报表时以该xml文件作为数据源,完全可以解决这一问题。
tinyhuhu 2006-02-02
  • 打赏
  • 举报
回复
水晶报表CrystalReportView中,有一个选项Enable Database Logon Prompting,取消选项。
tinyhuhu 2006-02-02
  • 打赏
  • 举报
回复
看错了问题,不好意思。
tinyhuhu 2006-02-02
  • 打赏
  • 举报
回复
在CrystalReport的Database Fields上点右键,取消“Verify on every print”复选框,就可以解决了,再也不会出现要求登陆验证的对话框。
itmingong 2006-01-20
  • 打赏
  • 举报
回复
oAdapter.Fill (dataSet,"产品");
doc.SetDataSource (dataSet.Tables["产品"]);
试试
giggsjw 2006-01-11
  • 打赏
  • 举报
回复
我连的数据库不是本机,当主报表和子报表使用的数据源不是同一数据源,每次也弹出登陆框,(只是在我插入子报表后才出现的)请问谁能帮我解决下哦,谢谢了!!!
kelong18433 2006-01-02
  • 打赏
  • 举报
回复
我以前遇到这种情况时,在数据库连接的时候,选择Window集成安全的框,就OK了
你的应该也是这种问题
北流流 2005-12-29
  • 打赏
  • 举报
回复
你的代码:
dataAdapter.Fill(dataSet);
this.CrystalReportSource1.ReportDocument.SetDataSource(dataSet.Tables["workbase"]);
this.CrystalReportViewer1.ReportSource = this.CrystalReportSource1.ReportDocument;


你这样做是不是水晶报表没有引入项目组中来啊 ,如果引入项目,就直接填充就行,我用的是vs2003的自带水晶报表:如下直接填充,我试过没有问题的

dataAdapter.Fill(dataSet);
this.CrystalReport.SetDataSource(dataSet.Tables["workbase"]);
this.CrystalReportViewer1.ReportSource = this.CrystalReport;






====PEKINGLIU====
lqp8000 2005-12-29
  • 打赏
  • 举报
回复
1、我用的是VS2005,刚开始学习 菜鸟级别
2、请问引入哪个空间名称
3、那里有VS2005中水晶报表的学习资料、视频或DEMO
lqp8000 2005-12-28
  • 打赏
  • 举报
回复
在vs2005中 我这样弄了一下,但还是失败 不知道原因何在

dataAdapter.Fill(dataSet);
this.CrystalReportSource1.ReportDocument.SetDataSource(dataSet.Tables["workbase"]);
this.CrystalReportViewer1.ReportSource = this.CrystalReportSource1.ReportDocument;
lqp8000 2005-12-28
  • 打赏
  • 举报
回复
pekingliu(北刘)
我使用的是VS2005 请问Crystal是什么东东?
北流流 2005-12-28
  • 打赏
  • 举报
回复
1、可能你的连接有问题,建议检查一下Connection.你可以脱个datagrid控键,看有数据没有。
2、如果你的连接没有为题的话,那就是你的填方式有问题,建议,如果是单表填充,试试用表名填充

Crystal.SetDataSource(this.ds.table["表名"]);
Rptview.ReportSource = Crystal

如果是多表,那就要用dataset直接填充,不能用表名

Crystal.SetDataSource(this.ds);
Rptview.ReportSource = Crystal




====PEKINGLIU====
xwdd129 2005-12-27
  • 打赏
  • 举报
回复
连接字符串里应该还要包含登陆名及密码等信息
james19790619 2005-12-26
  • 打赏
  • 举报
回复
doc = new CrystalReport1 ();
DataSet dataSet = new Dataset1 ();
OleDbConnection oleCon = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Crystal Reports\\Samples\\Database\\chs\\Xtreme.mdb");

OleDbDataAdapter oAdapter = new OleDbDataAdapter ("SELECT * FROM 产品",oleCon);
MessageBox.Show (oleCon.State .ToString ());
oAdapter.Fill (dataSet,"产品");
doc.SetDataSource (dataSet);
我这样写但总是显示登陆框
为什么??
北流流 2005-12-26
  • 打赏
  • 举报
回复
我是winform下用填充好的dataset 作为报表的数据源,属于push,但还提示要登陆数据库,郁闷等待中。。。。。
是不是还要设置报表或者qinform里的报表浏览器的什么属性啊。。。。



====PEKINGLIU====
happyamei 2005-12-26
  • 打赏
  • 举报
回复
我也遇到类似问题,学习中.....
xwdd129 2005-12-23
  • 打赏
  • 举报
回复
http://blog.csdn.net/haibodotnet/archive/2003/11/09/21506.aspx

彻底解决 CrystalReports 登录失败问题



重点看看里面的:
三、原因2:PULL 模式,水晶报表中的数据库登录问题(非 Windows 集成身份验证)。
四、原因3:PUSH 模式设置了 TableLogOnInfo,不需要!

4,819

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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