水晶报表出错!急

我用vs.net2003的向导设计了水晶报表,但是在运行时出错,不能连接数据库,数据库有密码
[46 byte] By [shenlongju-神龙居士] at [2008-5-11]
# 1
doc.SetDataSource(ds);
用上面的代码为报表指定数据源
keyplayer-冰 at 2007-10-26 > top of Msdn China Tech,.NET技术,图表区...
# 2
Dim oRpt As New CrystalReport1
oRpt.SetDataSource(ds.Tables(0))
oRpt.SetDatabaseLogon("sa", "数据库密码", "(localhost)", "你要连接的数据库名称")
CrystalReportViewer1.ReportSource = oRpt
haonanernet-与时俱进 at 2007-10-26 > top of Msdn China Tech,.NET技术,图表区...
# 3
创建一个XML架构文件在水晶报表里调用,把你要显示的数据存在DataTable里,把DataTable做为参数传入
# 4
haonanernet(好男儿) 的方法比较适合
# 5
我用的C#用人告诉如下方法
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
TableLogOnInfo logOnInfo = new TableLogOnInfo ();
//这里必须事先申明一个ReportDocument对象 Report,同时加载数据报表
ReportDocument oRpt = new ReportDocument();
oRpt.Load(Server.MapPath(".")+"\\CrReport.rpt");//报表的正确位置
int i = 0;

// 对报表中的每个表依次循环。
for (i=0;i ==oRpt.Database.Tables.Count-1;i++)
{ logOnInfo.ConnectionInfo.ServerName = "long";
logOnInfo.ConnectionInfo.DatabaseName = "taigang";
logOnInfo.ConnectionInfo.UserID = "sa";
logOnInfo.ConnectionInfo.Password = "mykey";
oRpt.Database.Tables[i].ApplyLogOnInfo(logOnInfo);
}
//建立.rpt文件与CryStalReportviewer文件之间的连接
myCRV.ReportSource=oRpt;

}
但是还是不行,把循环去掉也不行
shenlongju-神龙居士 at 2007-10-26 > top of Msdn China Tech,.NET技术,图表区...