2013-11-27 3 views
0

У меня было приложение с базой данных Ms Acess. В одном из своих форм я использую средство просмотра отчетов Crystal, чтобы показать отчет о кристалле, но проблема в том, что после загрузки его предоставления пустого отчета и если я попытаюсь обновить отчет его дает ошибку enter image description hereОшибка входа в систему при обновлении отчета

Мой код, как показано ниже

private void button1_Click(object sender, EventArgs e) 
     { 
      try 
      { 
       crystalReportViewer1.ReportSource = getpeport(@"C:\shrinkage\New folder\Shrinkage details1-bysreenath.rpt"); 



       crystalReportViewer1.SelectionFormula = "{CONS_MAST.CONSID} = '" + cmb_cons.Text + "' and {CONSUMPTION.STYLE} = '" + cmb_style.Text + "' and {CONSUMPTION.BUYER} = '" + cmb_buyer.Text + "'"; 
      //crystalReportViewer1.RefreshReport(); 
      } 
      catch (Exception exp) 
      { 

       MessageBox.Show(exp.ToString()); 
      } 
      finally 
      { 
       oleDbConnection1.Close(); 
      } 
      // crystalReportViewer1.RefreshReport(); 
     }   



     public ReportDocument getpeport(String ReportLocation) 
     { 
      ConnectionInfo crconnectioninfo = new ConnectionInfo(); 
      ReportDocument cryrpt = new ReportDocument(); 
      TableLogOnInfos crtablelogoninfos = new TableLogOnInfos(); 
      TableLogOnInfo crtablelogoninfo = new TableLogOnInfo(); 

      Tables CrTables; 



      crconnectioninfo.ServerName = @"C:\shrinkage\Shrinkage.mdb"; 
      crconnectioninfo.DatabaseName = ""; 
     crconnectioninfo.UserID = ""; 
    crconnectioninfo.Password = ""; 

      cryrpt.Load(ReportLocation); 

      CrTables = cryrpt.Database.Tables; 

      foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables) 
      { 
       crtablelogoninfo = CrTable.LogOnInfo; 
       crtablelogoninfo.ConnectionInfo = crconnectioninfo; 
       CrTable.ApplyLogOnInfo(crtablelogoninfo); 
      } 
      // cryrpt.Refresh(); 
      return cryrpt; 
     } 

Этот доклад был разработан в Crystal Report XI и там я могу сделать обновление и просмотр also.Pls данных поможет мне с предложением

ответ

0

Попробуйте добавить "OleDBConnection1.Open();" к началу вашего метода button1_Click. Вы закрываете соединение в конце, но никогда не открываете его.

Смежные вопросы