2010-08-27 74 views
1

我已经创建了一个使用MySql 5.1,使用XML(数据集保存为xml在应用程序根文件夹中)的Crystal报表,现在当我在我的机器上运行时它工作正常。但是当应用程序安装在其他机器上时,它需要数据库登录。我怎样才能删除登录窗口?代码如下所示Crystal报表显示数据库登录要求?

cDataSet.DataSetName = "TimeDataSet"; 
    cDataSet.WriteXml(Application.StartupPath 
    + "\\" + "TimeDSReport.xml", XmlWriteMode.WriteSchema); 
    ReportDocument report = new ReportDocument(); 
    report.Load(Application.StartupPath + "\\" + "TimeTracker.rpt");   
    crystalReportViewer1.ReportSource = report; 

请看代码是否正常,或者我需要添加一些额外的参数?

感谢 PAL

回答

3

请确保您指定为“记录源”水晶reprort名称或“类型化的DataSet”而得名的DataTable DataTable中必须相同

或者如果u使用直接从数据库设置您的代码中的登录信息如下

private void ConfigureCrystalReports() 
{ 
    rpt= new ReportDocument(); 
    string reportPath = Server.MapPath("reportname.rpt"); 
    rpt.Load(reportPath); 
    ConnectionInfo connectionInfo = new ConnectionInfo(); 
    connectionInfo.DatabaseName = "Northwind"; 
    connectionInfo.UserID = "sa"; 
    connectionInfo.Password="pwd"; 
    SetDBLogonForReport(connectionInfo,rpt); 
    CrystalReportViewer1.ReportSource = rpt; 
} 
+0

嗨。我在我的系统上试过这个,它工作得很完美。在安装到新系统时,它给出了类似的错误。所以我为它创立了一个完美的选择。 //只需设置此属性,它工作正常。 report.SetDataSource(cDataSet); 感谢您的意见。 :-D – 2010-08-28 10:27:02

相关问题