LOGON проблемы с отчетами Crystal - PullRequest
1 голос
/ 29 октября 2010

Пожалуйста, помогите, я создаю отчет Simple Crystal, который просматривает журналы, ожидающие обработки для нашего колл-центра. У меня есть хранимая процедура, которая извлекает всю необходимую мне информацию. Вот где она становится интересной. Отчет извлекает все соответствующие данные и показывает мне первую страницу. Когда я пытаюсь просмотреть вторую страницу, я получаю следующее «Запрошенный вами отчет требует дополнительной информации», затем он запрашивает учетные данные для входа в систему, когда я пытаюсь перейти на последнюю страницу В отчете я получаю следующую ошибку «Невозможно подключиться: неверный вход в систему параметров». Используя Crystal Viewer, я могу просматривать свой отчет, он имеет около 50 страниц при тестировании с 10 днями. Я погуглил, но не все предлагаемые решения, кажется, работают я использую следующее: SQL Server 2005 Express Edition; VS2008; Crystal сообщает о версии 10.5 .... Вот код, который я использую. Моя строка подключения выглядит следующим образом:

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);

    }

1 Ответ

0 голосов
/ 29 октября 2010

Привет, ребята, у меня все получилось, вот что сработало для меня. Надеюсь, это поможет кому-то в будущем.

открытый частичный класс _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();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...