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

时间:2015-06-11 08:17:38

标签: c# asp.net-mvc database

我目前正在开发一个需要检查日期和时间的项目,然后将它们与我的数据库中的值进行比较。 在我们打开的时候,这需要在实时聊天中完成。 我是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)。我需要检查当前时间是否在这两者之间。

2 个答案:

答案 0 :(得分:1)

      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.

答案 1 :(得分:0)

这条线对我来说很奇怪:

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

我想你应该把它改成:

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