2013-04-09 88 views
0

我的朋友即时通讯使用Visual Studio 2008,并且我在c#中开发了一个小型项目,现在我想在其中添加报告(.rdc reports)。这里是我的代码c#中的.rdlc报告不显示任何输出数据?

try 
     { 
      reportViewer1.Reset(); 
      con.Open(); 
      command.Connection = con; 
      command.CommandType = CommandType.StoredProcedure; 
      command.CommandText = "select_book_specific"; 

      param = new SqlParameter("@isbn", "isbn1"); 
      param.Direction = ParameterDirection.Input; 
      param.DbType = DbType.String; 
      command.Parameters.Add(param); 

      adapter = new SqlDataAdapter(command); 
      adapter.Fill(ds); 


     // for (int i = 0; i <= ds.Tables[0].Columns.Count - 1; i++) 
      // { 

      // MessageBox.Show(ds.Tables[0].Rows[0][i].ToString()); 

      //} For testing purpose 

      this.reportViewer1.LocalReport.ReportPath = @"C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Report1.rdlc"; 


this.reportViewer1.LocalReport.DataSources.Add(newReportDataSource("Books",ds.Tables[0].TableName.ToString())); 
this.reportViewer1.RefreshReport(); 


} 
catch(exception ex){messageBox.show(ex.message);} 
+2

什么是你的问题? – 2013-04-09 03:04:20

+0

什么是'newReportDataSource'你能显示代码吗? – Damith 2013-04-09 03:11:28

+0

@ lc-对不起pal itz一个错误我的问题是报告不显示任何数据? – Roshan 2013-04-09 03:14:01

回答

0

尝试

try 
{ 
    reportViewer1.Reset(); 
    con.Open(); 
    command.Connection = con; 
    command.CommandType = CommandType.StoredProcedure; 
    command.CommandText = "select_book_specific"; 

    param = new SqlParameter("@isbn", "isbn1"); 
    param.Direction = ParameterDirection.Input; 
    param.DbType = DbType.String; 
    command.Parameters.Add(param); 

    adapter = new SqlDataAdapter(command); 
    adapter.Fill(ds); 
    this.reportViewer1.LocalReport.ReportPath = @"C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Report1.rdlc"; 
    this.reportViewer1.LocalReport.DataSources.Clear(); 
    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource(ds.DataSetName + "_" + ds.TableName, ds.Tables[0])); 
    this.reportViewer1.LocalReport.Refresh(); 
}catch(Exception ex) 
{ 
    messageBox.show(ex.message); 
} 
+0

当我在我的问题的末尾添加你的答案中,只有的ReportViewer,没有报告显示,,, – Roshan 2013-04-09 03:31:29

+0

调试并查看添加之前的表是否具有记录作为报告数据源并检查报告路径。你有什么异常吗?我用完整的代码更新了我的答案。请检查。 – Damith 2013-04-09 03:41:58

+0

没有例外,我使用for循环检查了数据集,这是正确的报告路径也是正确的,但reportVierwer中没有报告显示 – Roshan 2013-04-09 04:10:04