Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何确保预订之间没有冲突?_C#_Asp.net - Fatal编程技术网

C# 如何确保预订之间没有冲突?

C# 如何确保预订之间没有冲突?,c#,asp.net,C#,Asp.net,我正在创建一个预订系统。使用c,如何检查预订是否与现有预订冲突?例如,如果在该时间段内预订了房间,则用户无法预订。“检查可用性”按钮用于检查与数据库中现有预订的任何冲突 数据库: 设计: 代码: 实现完全取决于您,但您需要一个RoomIsAvailable方法。这将接收房间id以及请求的开始时间和结束时间 然后,这将调用一个SQL查询,该查询将统计具有该id的房间的预订数量,并且在请求的结束时间之前有一个开始时间,在请求的开始时间之后有一个结束时间。这将使用一些SQL,类似这样的东西 SELEC

我正在创建一个预订系统。使用c,如何检查预订是否与现有预订冲突?例如,如果在该时间段内预订了房间,则用户无法预订。“检查可用性”按钮用于检查与数据库中现有预订的任何冲突

数据库:

设计:

代码:


实现完全取决于您,但您需要一个RoomIsAvailable方法。这将接收房间id以及请求的开始时间和结束时间

然后,这将调用一个SQL查询,该查询将统计具有该id的房间的预订数量,并且在请求的结束时间之前有一个开始时间,在请求的开始时间之后有一个结束时间。这将使用一些SQL,类似这样的东西

SELECT 
    COUNT(0) 
FROM Meeting 
WHERE 
    room_id = @RoomId AND 
    start_time < @EndTime AND 
    end_time > @StartTime

如果SQL返回的计数大于0,则表示存在预订冲突。

例如,条件中包含EXISTS谓词的INSERT/UPDATE查询。或选择,然后在事务中向用户发送消息或插入。或类似的方法,具体取决于所使用的数据库系统。在您的问题中添加更多信息和相关代码,否则这个主题太宽泛,无法在此处生成有用的答案。
SELECT 
    COUNT(0) 
FROM Meeting 
WHERE 
    room_id = @RoomId AND 
    start_time < @EndTime AND 
    end_time > @StartTime