我正在调用数据库并获取有关用户的一些数据。如果数据集不包含过去2天的任何数据,我只想将用户重定向到另一个页面。数据看起来像这样:
UserID DateSubmitted
User1 2015-03-13 00:00:00.000
User1 2015-03-15 00:00:00.000
User1 2015-03-16 00:00:00.000
因此,如果用户在过去2天内未提交任何内容,我想将用户重定向到另一个页面。在这种情况下,我们看到用户确实在3/13,3 / 15和3/16提交但未能在3/14提交,所以我想将他重定向到另一页。这是我到目前为止所做的,但无法完成......
string tempUser = (string)Session["USRID"];
SqlDataAdapter da = new SqlDataAdapter(@"Select UserID, DateSubmitted from myTable where userid = @userid ", sqlcon);
DataTable dtSETS = new DataTable();
da.SelectCommand.Parameters.AddWithValue("@Userid", (tempUser));
da.Fill(dtSETS);
if (dtSETS.Rows.Count > 0)
{
DataRow dtSETS_row = dtSETS.Rows[0];
//i want to do the checking here..
if(some condition here)
{
}
}
答案 0 :(得分:0)
我相信这个SQL查询将为您完成工作。 (通过让SQL Server完成工作,应该会有更少的数据返回到客户端应用程序,性能应该更好。)
DECLARE @MyTable table (UserID varchar(50), DateSubmitted datetime);
INSERT @MyTable VALUES( 'User1', '3/13/2015');
INSERT @MyTable VALUES( 'User1', '3/15/2015');
INSERT @MyTable VALUES( 'User1', '3/16/2015');
--INSERT @MyTable VALUES( 'User1', '3/14/2015');
SELECT UserID, DateSubmitted
FROM @MyTable
WHERE userid = 'User1'
AND DATEDIFF(day, DateSubmitted, GETDATE()) = 0
AND (SELECT COUNT(*)
FROM @MyTable
WHERE UserID = 'User1'
AND DATEDIFF(day, DateSubmitted, GETDATE()) IN (1,2)) < 2;