ASP.NET网站显示错误的数据

ASP.NET网站显示错误的数据,asp.net,sql-server-2008,Asp.net,Sql Server 2008,我使用ASP.NET构建了一个web应用程序,数据存储在SQLServer2008中 应用程序运行正常,但每隔几天,应用程序就会显示错误的数据,当我输入一些页面时,就会出现错误。5分钟后,系统自行恢复正常工作 有人能告诉我问题出在哪里吗 尝试从检索到的DataTable中获取数据的行出现错误: 比如: 或 通常这些行工作正常,没有理由datatable返回空。 我得到的错误是: 列“xxxxx”不属于表 检索数据的查询是: SELECT [Request ID],[Creation Date],

我使用
ASP.NET
构建了一个web应用程序,数据存储在
SQLServer2008

应用程序运行正常,但每隔几天,应用程序就会显示错误的数据,当我输入一些页面时,就会出现错误。5分钟后,系统自行恢复正常工作

有人能告诉我问题出在哪里吗

尝试从检索到的DataTable中获取数据的行出现错误: 比如:

通常这些行工作正常,没有理由datatable返回空。 我得到的错误是: 列“xxxxx”不属于表

检索数据的查询是:

SELECT [Request ID],[Creation Date],[Request Status],[Contact Fullname],[Start Date],[Start Time],[End Date],[End Time],[Work Mode],[Comments],[HPM Points],[FA Points]
FROM  dbo.vw_All_Requests
WHERE [Request Status] = @YellowCard_Status
ORDER BY [Creation Date] DESC
由于某些原因,某些列无法返回..

txtbx_contact_fullname.Text=dt_contact.Rows[0][“contact fullname”].ToString();
txtbx_contact_fullname.Text = dt_contact.Rows[0]["Contact Fullname"].ToString();
lbl_Creation_datetime.Text = dt_YC_Last_Transaction.Rows[0]["Creation datetime"].ToString();

lbl_Creation_datetime.Text=dt_YC_Last_Transaction.Rows[0][“Creation datetime”].ToString()

您在asp.net代码中的列名有u例如全名,但在sql查询中它没有u,我不知道您是否为数据表分配了名称,但请注意这个问题…

如果您的代码正确。您正在从.NET代码调用
Creation\u datetime
,但在SQL中,您没有这样的列,您只有
创建日期
(从
选择
查询)

所以,要解决你的问题,你所需要做的就是改变

dt_YC_Last_Transaction.Rows[0]["Creation_datetime"]


在问题修复后,您应该学习使用显式名称查询数据库的更好方法,例如使用对象而不是调用字符串值。。。您应该学习一些实体框架和Linq,它将大大改进您的代码。

您是否可以编写错误,因为您的代码运行时可能会出现一些错误?很难知道。我们需要更多的信息。否则,一切都将是“暗中猜测”。猜测:也许数据是以次优的方式缓存的?也许你也可以将SQL放到帖子中。我从一个视图中获取数据也许你可以移动到
ASP.NET MVC
并使用
EntityFramework
LINQ
。然后,您将体验到一种更好的构建web应用程序的方法:)我所有的专栏都有以“_”分隔的单词,效果很好,我有几个数据库。只有在那个特定的应用程序中,我的问题会持续5分钟,几天一次。谢谢你的建议,但同样,我的应用程序99%的时间都运行良好。因此,列的名称不是问题所在。那么,您的代码就不是您发布的代码,就好像它是,它永远不会100%工作!您的select查询没有选择任何
Creation\u datetime
列,您正在请求该列,最糟糕的是,您正在使用
ToString()
,因此您甚至没有检查
null
值。。。 txtbx_contact_fullname.Text = dt_contact.Rows[0]["Contact Fullname"].ToString(); lbl_Creation_datetime.Text = dt_YC_Last_Transaction.Rows[0]["Creation datetime"].ToString();
dt_YC_Last_Transaction.Rows[0]["Creation_datetime"]
dt_YC_Last_Transaction.Rows[0]["Creation_date"]