SqlDataReader  dc;
SqlConnection connn = new SqlConnection("Data Source=bb-pcn;User ID=pcn;Password=pcn168;database=TestLog");
SqlCommand upcmd = new SqlCommand("Select * from User_Temp where datediff(mm,UpTime,getdate())<=10",connn);
try
{
  connn.Open();
  dc=upcmd.ExecuteReader();
  if (dc.Read())
  {    
    Response.Redirect("Message.aspx");  }
  else
  {
   this.Response.Write("<script>alert(\"此帳號已經在使用!\");</script>");
  }
}
finally
{

connn.Close();
}以上代碼是實現在User_Temp表中查找出時間值(UpTime)與當前時間對比,當相差大於10分鐘時允許執行 Response.Redirect("Message.aspx");,當相差小於10分鐘時就alert(\"此帳號已經在使用!\");。為什麼我執行的時候時間 差小於10分鐘還是可以執行Response.Redirect("Message.aspx");呢?
數據庫為SQL2000

解决方案 »

  1.   

    Select * from User_Temp where datediff(mm,UpTime,getdate()) >10
      

  2.   

    Select * from User_Temp where datediff(mm,UpTime,getdate()) >10我改為這樣後還是不行啊,當我過了10幾分鐘再去登陸的時候會提示說已經有人在登陸使用了.....不能登陸進去Message.aspx頁面。我是想實現當User_Temp表裡的UpTime值與當前時間值相差如果大於10分鐘就可以讓我執行Response.Redirect("Message.aspx");。
    如果相差還是小於10分鐘的話就不能執行Message.aspx
      

  3.   

    Select * from User_Temp where datediff(minute,UpTime,getdate()) >10 
    这样试试看。