robat7
شنبه 28 فروردین 1389, 16:12 عصر
سلام
من در کریستال رپورت تازه کار هستم
یک برنامه در 2008 C# تحت Windows نوشته ام و می خواهم با کریستال رپورت گزارش هایم را بسازم
ولی وقتی شروه به گزارش گیری می کنم پیام خطای زیر را دریافت می کنم
"The report has no tables."
جدول را نیز به گزارش اضافه کرده ام (تصویر پیوست)
لطفا راهنمایی فرمایید.
قبلا از زمانی که برای پاسخگویی صرف می نمایید سپاسگزارم
string Report_Loc_str = "";
SqlConnection RepWP_Conn_Obj = new SqlConnection(CP_Con_str);
SqlDataAdapter RepWP_dAdapter = new SqlDataAdapter(
"SELECT rq_id, rq_dt FROM rq_hdr WHERE rq_id LIKE '" + REQ_str + "'", RepWP_Conn_Obj);
DataSet RepWP_dSet_Obj = new DataSet();
RepWP_dSet_Obj.Clear();
RepWP_Conn_Obj.Open();
RepWP_dAdapter.Fill(RepWP_dSet_Obj, "rq_hdr");
RepWP_Conn_Obj.Close();
// Return report name
RepWP_Conn_Obj = new SqlConnection(Int_Con_str);
RepWP_dAdapter = new SqlDataAdapter(
"SELECT * FROM TblReports WHERE Rep_code = 1 ", RepWP_Conn_Obj);
RepWP_Conn_Obj.Open();
RepWP_dAdapter.Fill(RepWP_dSet_Obj, "TblReports");
RepWP_Conn_Obj.Close();
// ================================================== =====================
// Connection Setting
ClsUpdateAuxiliaryTable.ClsCP rpt_obj = new ClsUpdateAuxiliaryTable.ClsCP();
rpt_obj.ReaddbData(Int_Con_str);
Report_Loc_str = rpt_obj.ReportLocation;
ConnectionInfo ConInfo = new ConnectionInfo();
ConInfo.ServerName = rpt_obj.ServerName.Trim();
ConInfo.DatabaseName = rpt_obj.DatbaseName;
ConInfo.UserID = rpt_obj.Username;
ConInfo.Password = rpt_obj.Password;
// ================================================== =====================
if (Report_Loc_str.Substring(Report_Loc_str.Length - 1, 1) != "\\")
Report_Loc_str = Report_Loc_str + "\\";
ReportDocument Report_with_Price = new ReportDocument();
Report_with_Price.Load(Report_Loc_str +
RepWP_dSet_Obj.Tables["TblReports"].Rows[0]["ReportName"]);
Report_with_Price.SetDataSource(RepWP_dSet_Obj.Tab les["rq_hdr"]); // Error Will happen HERE
crRepViewer.ReportSource = Report_with_Price;
foreach (CrystalDecisions.CrystalReports.Engine.Table table in Report_with_Price.Database.Tables)
{
TableLogOnInfo tableLogOnInfo = table.LogOnInfo;
tableLogOnInfo.ConnectionInfo = ConInfo;
table.ApplyLogOnInfo(tableLogOnInfo);
}
RepWP_dSet_Obj = null; RepWP_dAdapter = null; RepWP_Conn_Obj = null;
crRepViewer.ReportSource = Report_with_Price;
crRepViewer.Dock = DockStyle.Fill;
crRepViewer.Show();
crRepViewer.Refresh();
من در کریستال رپورت تازه کار هستم
یک برنامه در 2008 C# تحت Windows نوشته ام و می خواهم با کریستال رپورت گزارش هایم را بسازم
ولی وقتی شروه به گزارش گیری می کنم پیام خطای زیر را دریافت می کنم
"The report has no tables."
جدول را نیز به گزارش اضافه کرده ام (تصویر پیوست)
لطفا راهنمایی فرمایید.
قبلا از زمانی که برای پاسخگویی صرف می نمایید سپاسگزارم
string Report_Loc_str = "";
SqlConnection RepWP_Conn_Obj = new SqlConnection(CP_Con_str);
SqlDataAdapter RepWP_dAdapter = new SqlDataAdapter(
"SELECT rq_id, rq_dt FROM rq_hdr WHERE rq_id LIKE '" + REQ_str + "'", RepWP_Conn_Obj);
DataSet RepWP_dSet_Obj = new DataSet();
RepWP_dSet_Obj.Clear();
RepWP_Conn_Obj.Open();
RepWP_dAdapter.Fill(RepWP_dSet_Obj, "rq_hdr");
RepWP_Conn_Obj.Close();
// Return report name
RepWP_Conn_Obj = new SqlConnection(Int_Con_str);
RepWP_dAdapter = new SqlDataAdapter(
"SELECT * FROM TblReports WHERE Rep_code = 1 ", RepWP_Conn_Obj);
RepWP_Conn_Obj.Open();
RepWP_dAdapter.Fill(RepWP_dSet_Obj, "TblReports");
RepWP_Conn_Obj.Close();
// ================================================== =====================
// Connection Setting
ClsUpdateAuxiliaryTable.ClsCP rpt_obj = new ClsUpdateAuxiliaryTable.ClsCP();
rpt_obj.ReaddbData(Int_Con_str);
Report_Loc_str = rpt_obj.ReportLocation;
ConnectionInfo ConInfo = new ConnectionInfo();
ConInfo.ServerName = rpt_obj.ServerName.Trim();
ConInfo.DatabaseName = rpt_obj.DatbaseName;
ConInfo.UserID = rpt_obj.Username;
ConInfo.Password = rpt_obj.Password;
// ================================================== =====================
if (Report_Loc_str.Substring(Report_Loc_str.Length - 1, 1) != "\\")
Report_Loc_str = Report_Loc_str + "\\";
ReportDocument Report_with_Price = new ReportDocument();
Report_with_Price.Load(Report_Loc_str +
RepWP_dSet_Obj.Tables["TblReports"].Rows[0]["ReportName"]);
Report_with_Price.SetDataSource(RepWP_dSet_Obj.Tab les["rq_hdr"]); // Error Will happen HERE
crRepViewer.ReportSource = Report_with_Price;
foreach (CrystalDecisions.CrystalReports.Engine.Table table in Report_with_Price.Database.Tables)
{
TableLogOnInfo tableLogOnInfo = table.LogOnInfo;
tableLogOnInfo.ConnectionInfo = ConInfo;
table.ApplyLogOnInfo(tableLogOnInfo);
}
RepWP_dSet_Obj = null; RepWP_dAdapter = null; RepWP_Conn_Obj = null;
crRepViewer.ReportSource = Report_with_Price;
crRepViewer.Dock = DockStyle.Fill;
crRepViewer.Show();
crRepViewer.Refresh();