【问题标题】:Rdlc Report does not show changes from databaseRdlc 报告不显示来自数据库的更改
【发布时间】:2017-06-16 03:37:17
【问题描述】:

我知道以前有人问过这个问题,但没有相关答案。问题是我在 reportViewer C# 中显示的 rdlc 报告不反映 SQL Server 数据库在运行时所做的更改(插入、更新、删除)。它仅显示最旧的数据。如果我关闭程序并再次运行它,它可以工作,但这不是解决方案。

【问题讨论】:

  • 您是否在会话中缓存结果?您不清楚报告是如何通过应用生成的。
  • 是的。我有一个表格,可以在表格中插入项目,另一个表格带有报告。如果我使用第一个表单插入一个项目,则数据库会更新,但只有当我关闭应用程序并再次运行它时,此更改才会显示在第二个表单(带有报告)中。我正在使用 Visual Studio。
  • 听起来您需要刷新报表的数据集。
  • 是的,可能这就是问题所在。我尝试使用此代码 this.TRANZACTIONSTableAdapter.FillByParam(this.DataSetTranzactiiGrafic.TRANZACTII, 7); this.reportViewer1.RefreshReport();但不做任何事情。只有旧数据存在。
  • 在这种情况下 7 代表什么?此外,当附加报告视图时,通常会自动生成一些代码,就像您在评论中显示的一样。它看起来像什么?

标签: c# sql-server rdlc


【解决方案1】:

我找到了解决方案。看来之前我写的两行代码,应该是这样的:

 String sql = "select * from TRANZACTIONS";
    this.TRANZACTIONSTableAdapter.ClearBeforeFill = true;
    this.TRANZACTIONSTableAdapter.Connection = new 
    SqlConnection(@"ConnectionString");
    this.TRANZACTIONSTableAdapter.Connection.CreateCommand().CommandText = sql;

然后调用填充方法并刷新reportViewer。 我不确定这是否是解决问题的正确方法,但对我来说效果很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    • 2018-11-13
    • 2015-08-04
    • 1970-01-01
    相关资源
    最近更新 更多