使用Gridview的ASP.NET网页显示SQL Server中不存在的数据

时间:2014-02-07 16:04:04

标签: c# asp.net sql sql-server

自从ZERO点击谷歌以来,我认为我会把这种情况呈现给庞大的stackoverflow大脑信任以征求意见,因为我像看到一个真正的幽灵一样吓坏了。

我有一个带有gridview控件的简单ASP.NET网页,用于显示从SQL Server数据库表中查询的(基本上是销售订单)数据。后面的代码(很可能是stackoverflow文章中的一些复制/粘贴/调整)看起来像:

  _SqlCmd = new SqlCommand(_SelQuery, _Cnxn);
  _SqlCmd.Connection.Open();
  _SqlRdr =
      _SqlCmd.ExecuteReader(CommandBehavior.CloseConnection);
  _DataTbl = new DataTable();
  _DataTbl.Load(_SqlRdr);
  :
  :
  GridView TgtGrid;
  TgtGrid.DataSource = _DataTbl;
  TgtGrid.DataBind();

_SelQuery是一个包含使用WHERE子句的SQL命令的字符串,如:

WHERE [Month] = '1' AND [Year] = '2014'

今天早上(2014年2月7日)老板说,“嘿,2014年1月没有数据。”我在2014年1月验证了没有数据。我和我的犯罪伙伴谈过 - 实际创建数据的人 - 他说,"没有2014年1月的数据,它被删除了,我试图找出原因。"

过了一会儿,我再次访问了该页面,选择了一月份'和' 2014',点击'更新',并获得一些稀疏数据(我有屏幕截图来证明这一点)。我问我的同伙,“你必须重建Jan数据,对吧?”#39;他没有开始重建数据,甚至没有修复代码,所以他可以重建数据。

我在计算机上将项目加载到VWD 2008 Express并运行页面 - 没有数据。我在代码中添加了一个断点,复制了SQL命令,并在SQL Server Studio中尝试了它 - 再次,没有数据。回到真正的网站尝试其他几个月 - 看起来正常,除了2014年1月得到稀疏数据。

我无法做的事情是在VWD 2008中以调试模式运行真实网站(对我来说可能有点无知?),但所涉及的文件与我的本地副本具有相同的日期/时间戳。所以我放了一些调试代码来显示用于查询数据的SQL命令。它与我的机器在调试模式下运行页面的本地副本所生成的完全相同。

经过长时间的结束,大问题:

1)有没有人见过这样的事情? 2)我可以想象许多场景中不会返回现有数据,但是在非超自然领域中,什么可以解释这些不存在的数据被返回? 3)是否有任何类型的IIS缓存可以解释它?

任何评论都非常感谢。这些数据会显示给一家财富100强公司的执行委员会,我非常怀疑他们会不会感到很酷#39;这是错误的......

0 个答案:

没有答案