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)。我需要检查当前时间是否在这两者之间。
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);
}