请教.net中Crystal报表运用的问题

本人初用Crystal Report制作报表
先创建报表文件
然后在aspx文件中引入CrystalReportView控件,
然后设置ReportSource属性以绑定报表文件
以上成功。

但是一到运行编译时就发生如下错误:
----------------------------------------------------------------

登录失败。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: CrystalDecisions.CrystalReports.Engine.LogOnException: 登录失败。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
--------------------------------------------------------------
请求帮助!!
谢谢!!!
[569 byte] By [chenjun69] at [2007-12-16]
# 1
你的"数据集"是否open()
yhjvc-拼搏 at 2007-10-22 > top of Msdn China Tech,.NET技术,C#...
# 2
那是因为你登录SQLSERVER使用的用户密码不为空,你可以建一个密码为空的用户,然后在报表中登录SQLSERVER的用户改为新用户试试
csharpboy-风中的烟头 at 2007-10-22 > top of Msdn China Tech,.NET技术,C#...
# 3
但是在设计窗口中,CrystalReportViewer是能够连接数据库并能正确显示数据的呀...
chenjun69 at 2007-10-22 > top of Msdn China Tech,.NET技术,C#...
# 4
应该是你的数据集的数据有问题,你好好检查一下吧。
andynamo-编程烂指 at 2007-10-22 > top of Msdn China Tech,.NET技术,C#...
# 5
ReportDocument report=new ReportDocument();
report.Load(Server.MapPath ("your report.rpt"));
TableLogOnInfo logOnInfo = new TableLogOnInfo ();
logOnInfo.ConnectionInfo.ServerName = "your server name";
logOnInfo.ConnectionInfo.DatabaseName = "database name";
logOnInfo.ConnectionInfo.UserID = "sa";
logOnInfo.ConnectionInfo.Password = "your password";
report.Database.Tables["member"].ApplyLogOnInfo(logOnInfo);
CrystalReportViewer1.ReportSource =report;
CrystalReportViewer1.DataBind();

我试过,肯定没问题
jackies_hphp-df at 2007-10-22 > top of Msdn China Tech,.NET技术,C#...
# 6

以下代碼實現報表數據可變
密碼在連結數據庫時定
1.在你的工程中添加新項目DataSet,連結數據庫,將需要的數據表或預存程序
拖入此DataSet中,編譯DataSet
2.使用Vs.net自帶的Crystal Report,以DataSet為數據源建立報表
3.在程序中將數據推入此報表中

Dim conn As SqlConnection
Dim da As SqlDataAdapter
Dim strSQL As String

conn = New SqlConnection()
conn.ConnectionString = "User ID=sa; PWD=1234;Data Source=xxxx; Initial Catalog =xxxxx"
conn.Open()

strSQL = "Select * from TableName"
da = New SqlDataAdapter(strSQL, conn)
Dim ds As New DataSet()
da.Fill(ds, "TableName")

Dim RptDoc As New ReportName()
RptDoc.SetDataSource(ds)
' 給RptDoc 指定數據,
CrystalView1.ReportSource = RptDoc '給CrystalView指定數據
CrystalView1.DataBind()
conn.Close()
Catter-钓鱼爱好者 at 2007-10-22 > top of Msdn China Tech,.NET技术,C#...
# 7
楼上几个兄弟的意见我都看了,结合自己作报表的经验说一下我的看法:
1。sql连接的问题
包括用户名,密码,那个server
2。dataset中表的问题;
da.Fill(ds, "TableName")
填充ds中表时,一定要与从服务器资源管理器中所托到dataset中的表名相同

结合以上的情况,你可以试着把da.Fill(ds, "TableName")中的TableName改成dataset中的表名。