ASP.NET 比较数据库中的数据

本文关键字:数据 数据库 NET 比较 ASP | 更新日期: 2023-09-27 17:55:22

我目前正在做一个项目,需要检查日期和时间,然后将其与数据库中的值进行比较。这需要在我们打开时进行实时聊天。我是 ASP.Net 新手,这让我头疼。

我有一个包含这些行的表:-工作日- 开始时间- 结束时间

在我的聊天控制器中,到目前为止我已经尝试过了

private Model1Container db = new Model1Container();
    public ActionResult Index(Openinghours openinghours)
    {
        ViewBag.Opening = db.OpeninghoursSatz.ToList();
        string CurrentDay = DateTime.Now.DayOfWeek.ToString();
        string CurrentTime = DateTime.Now.TimeOfDay.ToString();
        bool IsWeekDay= db.OpeninghoursSatz.Where(i => i.weekday == CurrentDay).Any();
        var Starttime = db.OpeninghoursSatz.Find(CurrentDay);
        Debug.Write("!!++" + Starttime);

我的确切问题是将时间与表中的两行进行比较。我想过将值放在变量中,然后比较它们,但必须有一种更干净的方法。

我希望我能够指出我的问题是什么,如果没有,请问。

问候,

尼科

编辑:也许我应该说数据库保存它打开的小时和关闭的小时(例如 9 和 17)。我需要检查当前时间是否在这两者之间。

ASP.NET 比较数据库中的数据

      int getStartHour = DateTime.Now.Hour;
        int weekDay= (int)DateTime.Now.DayOfWeek;
 bool value =    db.OpeninghoursSatz.Where(m => getStartHour >= m.Starttime  && getStartHour <= m.EndTime && m.weekday == weekDay).Any()
    /// if everything is in int. or if in string 
     string getStartHour = DateTime.Now.Hour.ToString();
        string weekDay= DateTime.Now.DayOfWeek.ToString();
 bool value =    db.OpeninghoursSatz.Where(m => getStartHour >= m.Starttime  && getStartHour <= m.EndTime && m.weekday == weekDay).Any();
But in this case for Thursday , we will get Thursday, but in Int we will get 4.

这行对我来说看起来很奇怪:

var Starttime = db.OpeninghoursSatz.Find(CurrentDay);

我想你应该把它改成这样:

if (IsWeekDay){
    var Starttime = db.OpeninghoursSatz.Where(i => i.weekday == CurrentDay).First().StartTime;
    Debug.Write("!!++" + Starttime);
}