2010-10-29 103 views
1

请帮助,我正在创建一个简单的水晶报告,查看我们的呼叫中心未完成的日志,我有一个存储过程,检索所有我需要的信息。在这里它变得有趣。 该报告检索所有相关数据并向我显示第一页。当我尝试查看第二页时,我收到以下“您请求的报告需要更多信息”,然后请求登录凭证,当我尝试转到最后一页时的报告,我得到以下错误“无法连接:不正确的登录参数。” 使用Crystal Viewer我可以查看我的报告,当我用10天测试时,它有大约50页左右的页面。我已使用Google搜索,但没有建议的所有解决方案似乎工作 我使用以下内容:SQL Server 2005速成版; VS2008; Crystal报告版本10.5 .... 继承人我使用的代码。 我的连接字符串看起来是这样的:LOGON问题与水晶报告

Data Source=ServerName\SQLEXPRESS;Initial Catalog=DBNAME;Integrated Security=True; 

我使用Windows身份验证登录。 在此先感谢。

try 
    { 
     CrystalReport1 myRpt = new CrystalReport1(); 
     CrystalReportViewer1.DisplayGroupTree = false; 
     CrystalReportViewer1.DisplayToolbar = true; 
     string myConstr = ConfigurationManager.AppSettings["ConnectionString"]; 
     SqlConnection myConnection = new SqlConnection(myConstr); 
     SqlDataAdapter myAdapter = new SqlDataAdapter(); 
     DataSet1 myDataSet = new DataSet1(); 
     SqlCommand MyCommand = myConnection.CreateCommand(); 

     MyCommand.CommandText = "procName"; 
     MyCommand.CommandType = CommandType.StoredProcedure; 
     myAdapter.SelectCommand = MyCommand; 
     myAdapter.SelectCommand.Parameters.Add(new SqlParameter("@myPara", Convert.ToInt32(txtDays.Text))); 
     myAdapter.Fill(myDataSet, "procName"); 
     CrystalReportViewer1.ReportSource = myRpt; 
     CrystalReportViewer1.DataBind(); 
    } 
    catch (Exception ex) 
    { 
     string strEX; 
     Page.ClientScript.RegisterStartupScript(this.GetType(), "Warning", "alert('Enter Day Criteria Please!!!');", true); 

    } 

回答

0

嗨,大家好,我得到了它的工作,这对我有用。希望这有助于未来的人。

公共部分类_Default:System.Web.UI.Page {

DataSet getRpt() 
    { 
      CrystalReport1 myRpt = new CrystalReport1(); 
      string myConstr = ConfigurationManager.AppSettings["ConnectionString"]; 
      SqlConnection myConnection = new SqlConnection(myConstr); 
      SqlDataAdapter myAdapter = new SqlDataAdapter(); 
      DataSet1 myDataSet = new DataSet1(); 
      SqlCommand MyCommand = myConnection.CreateCommand(); 
     try 
     { 

      CrystalReportViewer1.DisplayGroupTree = false; 
      CrystalReportViewer1.DisplayToolbar = true; 

      MyCommand.CommandText = "RptPrint"; 
      MyCommand.CommandType = CommandType.StoredProcedure; 
      myAdapter.SelectCommand = MyCommand; 
      myAdapter.SelectCommand.Parameters.Add(new SqlParameter("@myDate",Convert.ToInt32(txtDays.Text))); 
      myAdapter.Fill(myDataSet, "RptPrint"); 
      myRpt.SetDataSource(myDataSet); 
      CrystalReportViewer1.ReportSource = myRpt; 
     } 

     catch (Exception ex) 
     { 
      string strEX; 
      strEX = ex.ToString(); 
      ///Page.ClientScript.RegisterStartupScript(this.GetType(), "Warning", "alert('Enter Day Criteria Please!!!');", true); 

     } 
     return myDataSet; 

    } 
    private void Page_Init(object sender, EventArgs e) 
    { 

     DataSet myD = getRpt(); 

    } 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     DataSet myD = getRpt(); 
    } 

    protected void btnPreview_Click(object sender, EventArgs e) 
    { 
     DataSet myD = getRpt(); 

    } 

    protected void CrystalReportViewer1_Init(object sender, EventArgs e) 
    { 

     DataSet myD = getRpt(); 
    } 

    protected void CrystalReportViewer1_Navigate(object source, CrystalDecisions.Web.NavigateEventArgs e) 
    { 
     DataSet myD = getRpt(); 
    } 
}