PDA

View Full Version : سوال: خطای Load report Failed



mohamadlvs
شنبه 09 اردیبهشت 1391, 02:54 صبح
سلام
چرا خطای Load report Failed میده؟



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using CrystalDecisions.Shared;
using CrystalDecisions.Windows.Forms;
using CrystalDecisions.CrystalReports.Engine;

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void SetLogin(ConnectionInfo connectioninfo,ReportDocument reportdocument)
{
TableLogOnInfos TbLogOnInfos = crystalReportViewer1.LogOnInfo;
foreach (TableLogOnInfo TbLogOnInfo in TbLogOnInfos)
TbLogOnInfo.ConnectionInfo = connectioninfo;
Tables tables = reportdocument.Database.Tables;
foreach (Table table in tables)
{
TableLogOnInfo tbllogoninfo = table.LogOnInfo;
tbllogoninfo.ConnectionInfo = connectioninfo;
table.ApplyLogOnInfo(tbllogoninfo);
}
}
private void Form1_Load(object sender, EventArgs e)
{
ReportDocument RepDoc = new ReportDocument();
ConnectionInfo connectioninfo = new ConnectionInfo();
connectioninfo.ServerName = "(local)";
connectioninfo.Password = "123";
connectioninfo.UserID = "sa";
connectioninfo.DatabaseName = "Gold_Database";
string RepPach = Application.StartupPath + @"\WindowsFormsApplication2\CrystalReport2.rpt";
crystalReportViewer1.ReportSource = RepPach;
RepDoc.Load(RepPach);
crystalReportViewer1.ReportSource = RepDoc;
SetLogin(connectioninfo, RepDoc);
}
}
}

mohamadlvs
شنبه 09 اردیبهشت 1391, 15:09 عصر
در هنگام دیباگ کردن Application.StartupPath این مسیر را میدهد

G:\WindowsFormsApplication2\WindowsFormsApplicatio n2\bin\Debug

کریستال من هم در این مسیر است

G:\WindowsFormsApplication2\WindowsFormsApplicatio n2

با دستور زیر هم جواب نداد

string RepPach = Application.StartupPath + @"..\..\CrystalReport2.rpt


--یاری اندر کس نمی بینم یاران را چه شد!

Mahmoud Zaad
شنبه 09 اردیبهشت 1391, 15:21 عصر
سلام
شما فایل گزارش رو ببرید توی پوشه دیباگ، اینم میشه آدرسش:


string RepPach = "Application.StartupPath + "/CrystalReport2.rpt";

در ضمن Application.StartupPath یعنی جایی که فایل اجرایی شروع به اجرا شدن میکنه و اونجا هم پوشه دیباگ هست (البته نه لزوماً، ممکنه پوشه Release باشه). زمانی هم که ستاپ ساخته میشه، این آدرس همون پوشه ای هست که فایل اجرایی توش قرار داره.

Yanehsar
شنبه 09 اردیبهشت 1391, 18:14 عصر
فایلهای کریستال ریپورتی(rpt.) را که ساختی رو در مسیر برنامه کپی کن تا مشکلت حل بشه.