2012-03-16 5 views
0

если вы поможете мне, я пытаюсь создать отчет о кристалле, а код за страницей выглядит следующим образом ... когда я запускаю приложение, веб-страница загружается в течение нескольких часов без каких-либо результатов. ...Crystal Reports sap .net

namespace WebApplication11 

{ 
    public partial class About : System.Web.UI.Page 
    { 
     //  Below is the final code for reports. 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      ReportDocument rptDoc = new ReportDocument(); 
      DataSet1 ds = new DataSet1(); // .xsd file name 
      DataTable dt = new DataTable(); 
      // Just set the name of data table 
      dt.TableName = "db.Customer_Orders"; 
      dt = getAllOrders(); //This function is located below this function 
      ds.Tables[0].Merge(dt); 
      // Your .rpt file path will be below 
      rptDoc.Load(Server.MapPath("c:/users/dell/documents/visual studio 2010/Projects/WebApplication11/WebApplication11/CrystalReport1.rpt")); 
      //set dataset to the report viewer. 
      rptDoc.SetDataSource(ds); 
      CrystalReportViewer1.ReportSource = rptDoc; 
     } 
     public DataTable getAllOrders() 
     { 
      //Connection string replcae 'databaseservername' with your db server name 
      string sqlCon = "User ID=User-PC;PWD=; server=USER-PC/SQLEXPRESS;INITIAL CATALOG=SampleDB;PERSIST SECURITY INFO=FALSE;Connect Timeout=0"; 
      SqlConnection Con = new SqlConnection(sqlCon); 
      SqlCommand cmd = new SqlCommand(); 
      DataSet ds = null; 
      SqlDataAdapter adapter; 
      try 
      { 
       Con.Open(); 
       //Stored procedure calling. It is already in sample db. 
       cmd.CommandText = "getAllOrders"; 
       cmd.CommandType = CommandType.StoredProcedure; 
       cmd.Connection = Con; 
       ds = new DataSet(); 
       adapter = new SqlDataAdapter(cmd); 
       adapter.Fill(ds, "Users"); 
      } 
      catch (Exception ex) 
      { 
       throw new Exception(ex.Message); 
      } 
      finally 
      { 
       cmd.Dispose(); 
       if (Con.State != ConnectionState.Closed) 
        Con.Close(); 
      } 
      return ds.Tables[0]; 
     } 



    } 
} 
+0

Вы пытались запустить хранимую процедуру вручную? Сколько времени это занимает в сравнении? –

+0

Вы пытались подключить отладчик к рабочему процессу, чтобы увидеть, где он заблокирован? – Tung

ответ

0

Я думаю, что вы, по всей видимости, отсутствует строка после CrystalReportViewer1.ReportSource = rptDoc;:

crystalReportViewer1.Refresh();

Но Tung сказал- прикрепить контрольную точку и пошаговую, чтобы увидеть, где он застрял.