目前,我有一个主轮值,它存储的约会,随着时间和日期,但不是日期。Server数据库如下所示,它是通过DAYPILOT日历控件创建的。


正如你所看到的,有时间是储存的,但不是一个日期,但它是储存的一天。例如第0天是星期天,第1天是星期一等等.
我想在UI中添加一个按钮,在考虑日期的情况下,它将从主轮值复制到实时轮询。
例如,第1天(星期一)由主轮值组指定的任务应插入活轮值表中,但在从Daypilot日历控制日期开始的当前一周的日期中,在活轮询表中开始的任务将是2016-01-16 : 09:30。它需要在日试日历中检查周的当前日期,然后插入到活动表中。
这个是可能的吗?如何检查当前日期并确保该日期与DB中的“天”字段中的日期匹配?比如第0天,第1天等等?
当前用于主rota创建的SQL
public void CreateAssignment(DateTime start, DateTime end, int location, int week, string person, string note, DayOfWeek day)
{
using (DbConnection con = CreateConnection())
{
con.Open();
//string id = "";
var cmd = CreateCommand("insert into [master_rota] ([AssignmentStart], [AssignmentEnd], [LocationId], [PersonId], [AssignmentNote], week, day) values (@start, @end, @location, @person, @note, @Week, @day)", con);
AddParameterWithValue(cmd, "start", start.TimeOfDay);
AddParameterWithValue(cmd, "end", end.TimeOfDay);
AddParameterWithValue(cmd, "location", location);
AddParameterWithValue(cmd, "week", week);
AddParameterWithValue(cmd, "person", person);
AddParameterWithValue(cmd, "note", note);
if (day == DayOfWeek.Saturday)
{
AddParameterWithValue(cmd, "day", day - 6);
}
else
AddParameterWithValue(cmd, "day", day + 1);
cmd.ExecuteScalar();
}
}发布于 2017-01-27 08:51:34
以下是仅用于获取当前周中指定工作日的开始和结束日期/时间的SQL解决方案:
SELECT DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0) + day
- DATEPART(dw, GETDATE()) + [AssignmentStart] AS [StartInCurrentWeek],
DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0) + day
- DATEPART(dw, GETDATE()) + [AssignmentEnd] AS [EndInCurrentWeek]
FROM [master_rota];这里的演示:http://rextester.com/URJP8148
(不知道这是不是你想要的,但这是个开始,如果不符合要求,请告诉我.)
https://stackoverflow.com/questions/41675257
复制相似问题